{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 26,
   "id": "baec7583",
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "from tsfresh import extract_features\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn.ensemble import RandomForestClassifier\n",
    "import xgboost as xgb\n",
    "from sklearn import preprocessing\n",
    "from sklearn.cluster import AgglomerativeClustering\n",
    "from sklearn.metrics.cluster import homogeneity_score\n",
    "from scipy.spatial.distance import euclidean\n",
    "from fastdtw import fastdtw\n",
    "from tqdm import tqdm"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5a4acf57",
   "metadata": {},
   "source": [
    "### 7.1 分类问题"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "e2d62bf3",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>times</th>\n",
       "      <th>measurements</th>\n",
       "      <th>classes</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>40.0</td>\n",
       "      <td>Z</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0</td>\n",
       "      <td>0.005762</td>\n",
       "      <td>48.0</td>\n",
       "      <td>Z</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0</td>\n",
       "      <td>0.011523</td>\n",
       "      <td>35.0</td>\n",
       "      <td>Z</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0</td>\n",
       "      <td>0.017285</td>\n",
       "      <td>5.0</td>\n",
       "      <td>Z</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>0.023047</td>\n",
       "      <td>-40.0</td>\n",
       "      <td>Z</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   id     times  measurements classes\n",
       "0   0  0.000000          40.0       Z\n",
       "1   0  0.005762          48.0       Z\n",
       "2   0  0.011523          35.0       Z\n",
       "3   0  0.017285           5.0       Z\n",
       "4   0  0.023047         -40.0       Z"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "eeg = pd.read_csv('data\\eeg.csv')\n",
    "eeg.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "c5199c8f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAagAAAEYCAYAAAAJeGK1AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAACpPklEQVR4nO2ddZgUR/rHvzWybrA4CyzuToAACZCQBEL84u4GuctdcvkRVxLi7hd3V0hwC+7usMAiCyzru+P1+6O7eqq7q3t6ZmeFbH+eh4fZ1uruqnrrlXqLUEphY2NjY2NT33DUdQFsbGxsbGxE2ALKxsbGxqZeYgsoGxsbG5t6iS2gbGxsbGzqJbaAsrGxsbGpl7jqugBWaNKkCc3Nza3rYtjY2NjY1ACrVq06Riltqt1+Qgio3NxcrFy5sq6LYWNjY2NTAxBC9oq22yY+GxsbmwbC8j3HUerx13UxLGMLKBsbG5sGQLk3gEvfXYLbP1tV10WxjC2gbGxsbBoA/kAIALDhQEkdl8Q6J4QPysbGxsbGGL/fj/z8fHg8HsNjgiGK989rCQcBtmzZUoulC5OUlIScnBy43W5Lx9sCqoY55bk5uH1kR1w1pF2d3H/1viI4CEG/Nll1cn8bG5uaJz8/H+np6cjNzQUhRHiMLxBC6HApnISge+vMWi4hQClFYWEh8vPz0b59e0vn2Ca+KJi5uQBHSo1HKFpCIYr9x6vw4E8ba7BU5lz01mJc8OaiOru/jY1NzePxeJCdnW0onACAQk4MbnxIjUIIQXZ2tqmWp8UWUBYJhihu+XQlLn9vqeVz/KFQDZbIxsbGJoyZcAIAWrfySbp3hDJqiYuAIoR8SAg5QgjZyG1rTAiZSQjZIf/fSN5OCCGvEUJ2EkLWE0IGxKMMNY0/KAmb3ccqLJ/jC9gCyqbueOaPLcidNLWui2FTTwivrFSXIio64qVBfQxgrGbbJACzKaWdAcyW/waAcQA6y/9uBfB2nMpQozABFQ3RCihKKWZuLkAwZK/R9Xfm0yV52HmkrMbv8+783QAAjz9Y7WvN3XYE1324HPb6cScuzMQXpRJjiZ9++gn9+vVT/XM4HPjjjz+qdd24CChK6QIAxzWbzwfwifz7EwAXcNs/pRJLAWQRQlrGoxw1iT8YfcP0RSnUpm86jFs+XYn3F+6O+l42JwaUUjzyyyac+3rN+wVZR+T1h+thuTeAaz5Yhv3HK6O61i2frMT87Udjagc2seHxB+M6qbYmxxYXXngh1q5dq/y78847ccopp+Css86q1nVr0gfVnFJ6SP59GEBz+XdrAPu54/LlbSoIIbcSQlYSQlYePXq0BosZZuOBEhyv8An3BWpBgzpWLt17b2F0nYdVAsEQFu86ViPXtrEGU46r4qDVRIJ1SEGuZ5q9pQALdxzDCzO2RXUtJuwC9dCvuulgCSZ+uTqmNlqfOef1v9DnsRlxu15t+aC2b9+OJ554Ap999hkcjuqJmFoJM6eUUkJIVPKbUvoegPcAYNCgQbUybDvn9b+QnZqAVQ+fodsXrTYERG8WdDulqhOqIRPfuwt24/np2/D5TUOw9XApWmQm4Zw+rQBII+u0xJqrDv5gCPd9vx63j+yIri3Sa+QeNf0M8aAuOnjeZOyQJU0gyjpGQADQeqlB3fXVGuw+WoG7x3RBp2ZpUZ0bCIbgD1IkJzhrqHSxs/NIeUznPf7bJmw+WKrbHgxRePxBEEKQEuXz9miVgUfP7RnxOL/fjyuvvBIvvvgi2rZtG9U9RNSkBlXATHfy/0fk7QcAtOGOy5G31QsKDTWo6BumV9agrNp8nfJoIxCi2JBfEpPfy4wDxVUAgD2FFXhq6hZM/HINACk/V69Hp2PI07Pi4q8Q3ruoCj+tOYA7PjdOs/Llsn0oMnj/kZi6/hB6PTod0zcdxpEy62GstU1d+Bf5ezIBGYy2Pst1uMIbqFZZjpV7sT6/GMcrfLjn23XVvh4Q1gwcMagG//pmLbo/8me1y1CfCFFq6iusSQ3q4YcfRs+ePXHZZZfF5Xo1Odz8FcB1AKbI///CbZ9ICPkawBAAJZwpsN7CC4u35+3CHaM6Rjznrbm7AFi3/Trl4cK2glKc+8ZfuOWU9nhwfI+oy2qEyyHW0NbsKwIAFJR68fv6Q7h4YE7c7slgd+RD73ceKUPrrBQkJzhxsLgKD/y0AT+tycd3tw+L+vqLZNPlbXKesbwp46td5pogWs3FCsfKvViyqxDn9m0l3M+b+PwB6fefmw7jYHEVWmUlW7oH6/yHTZmD6XefGrMW/Phvm/HbuoO4ckhb/LA6H71bZ+D64dYmbRrBBDAhBKc+NxcTR3fCpSe1iXCWxNT1UtdTVOFDo9SEapWjvnD1kHao8gfRJydLtb2kyoe9hZVIdDlrxIoxb948/PDDD1i9enXcrhmvMPOvACwB0JUQkk8IuQmSYDqDELIDwBj5bwCYBmA3gJ0A3gdwZzzKUNPwpo1n/9xq6ZwKnzQ6bJedYul4Zn7ZeEBSz9flxzdnFrs+P6KesekwEl3halBTofHsnqyv9AVCGPPSAkz4crVq/8Hi2LSf+m7aY0StuVjgpk9W4q6v1hhqn/yAhDdV5xdVWb4H4cbdq/YWxVBKid/XHwQA7JP9rLEKbEopvl2xH5W+AEJypQqGQth3vBL3/bA+4vk7j5SpBp39n5yJH1blx1QWANh2uCxihKMvEMITv21GXhRTVWLByL9Zkz6ooqIi3HDDDfj000+Rnh4/4RevKL4rKKUtKaVuSmkOpfQDSmkhpfR0SmlnSukYSulx+VhKKZ1AKe1IKe1NKa13Cz0t2K4PyojW3Pbvb9Zi3jbpOq0yrY1StfU7FpOFGU6mQXE3uvWzVfBwQineZkUGMy2xW3sDUiOas/WIvL96HXdqglpArd5XhN1HY7Ph81T5gpi3TSrjoZIqVPqMTVIbD5Tg1OfmoqTSOPIq2udctfc4znx5Pqp8xqZXFpFndG1+QMJ/36enbbHcWfJm6uIqH8a+sgALd0QfvMS+U5ls2ot24iZjXX4J7vthPR77dZNSp6p8+rpbUuXHqOfnYiOXILXcG8CYlxbgP9+uU6wKQFh4Ukqxo8D6NIDFO4/hrFcW4Kvl+02PW5l3HB8u2oOXZ203Pa7SF8Djv21S/n7s100x+aW1AlOpBzUgod555x0cOXIEd9xxhyrU/JtvvqnWdRtMJokjZR68OGOb8EMfr/CpJjRe++Fy3XHROLdLKv34aU3YrWb1XG0gBhu1bj5Yio8X7bF8fwbfMa3PL1Y6Mq0fhPcD1JQGxXx4pVV+FFX4dPdhEVixBv2kJqqdvq/O2oHTXpyPlXna2Q/R0f2RP3H9Ryuwt7ACJz8zB1e8vwyUUrw8czsOl3jw145jOF7hwzcr9uGc1//CvuOV6PvEDLwwXRwlF4oy1vfRXzdhe0E5dpjMm2IdkdHgImAgoNbuL8ZNn6ywVA6+T9tZUI6th8vwwE8bLJ3LKPX4US7XtaAyYIltYMIE9t7CSuUaj/6qTym2fM9x5BVW4qWZYaHglTWMOVsKwN+dWRg+X7oXZ7y8QDF9R2LLYenbbDusD0zgYd/BKFIYkNrBqc/Nw0eL8pRtHy/Ow+p9RVG/K21Xx9q9K94jXwD3338/KioqVKHma9eurbYvqsEIqMd+3YTX5+zEXzvVYdZlHj++XKZfzHGbZgTlC1ivHN6gerRrNfLJqIM5742/8Nhvm6MaRT340waVyeK8NxZhxuYCAPqRtpcTFpGiFY+UeSKG8361fB9+W3dQtY3ds8wbQP8nZ6ru+dmSPOW+JMbhnVcj8NgIeE81zCn8uUygrttfjI0HSvHq7B2Y+OVqXP3BMlz34XL83w/qzvqNuTsxd9sRaMkvim4KAeuI3U51Uz1W7oU3EIQ3EESRrLGxd5A7aapqBM4LRW1dLKmyFqTAazpr9xdL26L8Vv0eD4dMswELpVKOy/9+tw6AFCiz6WBk0zbrY5ftOa742FbvK9Yd99XyfQDUbYsdX+ELqiMc5YvuOVapXFsLq/+BYAgFcl5OVt4EV/W705mbC3Cs3KvbfvE7S6KeH+kLBFUaP3vSWLXWuqDBCCjWILRRQxO/XIMXZuhV7nGvLsT/uAoRTfSV9lir52ojBZk2wTr3ChPzkpYvlu0ztMVrI/X4v800qDKPH4Mnz8YTv282vff9P27AXV+tUZmlghotkr/Pw79sUp49lrazbHchnjfQWLSNcfme48ooPhJvzd2p/OY7diZM2SRKo/V1bvhIrZ0s3HEU/3h7iaV7M1jd4d/XkTIPBj01C7d9tkq1+Bx/DD8C5+uf9vta1ej4txhNui/1vfT3pZByXH63Kh/ztx/FAz9twPjX/sKszQXInTTVMDkz/z2MmtfsLQWKCZkfwBi1R6dcV5qkS8ESWp9epS+AwZNn4z/frsOrs3dgyNOzcaTMgx9XS9YSl9O8O+XvWukL4NoPl2NvofpdlnmM6+ainYWm19ey40i5KlRdeecnUDaQBiOgmGP3ji9W4/qPluOPDVL0zpZDxmr5U1O3YJ08Wly407q9XStoIvl1Csu9eOjnDXh73i7Vdu0INV5zULT+DD7TgJkGxZyv0zaogy6NfC78SFBbdq3Gw64dy9jut/UHddt8TOBpynnpu0sw4QtrUUYsLB8Azn5tYfjactmj/R7bDqu18o0WFo5jfkOPP4jhU+bgoZ83YGWeVJcX7yrE3G3hesn8elqCBkES2n1miAYOLmfsI3F2X/721324XPn9yZI8AMBmg/a5Lr9Y+X20TK9xAJIWq70fYDxlhL1rZurjj8ovqsR6OWjp13UH8foc6dq8uY4A6PHIn/jIwBzPBAMhBPO3HcWC7Ucx5Y9wwNXOI+XILzYOXIn0rSIJnvogl6IVjg1CQG09XKqa3zRv21HcIXdSkdrn+W8uwrLdhUpeMytoBVIkx/hdX63B50v34bBmtKjtFKwGMESqBNr0KXzHdrhEP2ItrvRJnStl5Qhff9qGQ+j7xAzF7MM3Il4z0zYu7UiemSIchGDPsYqoljVpnKIPD/bJz8S/Q9Y5852bGW0bi6MvmT8o2oASbaThdguOeJesRnsCIRworsLnS/ehUh5gDGzbSHWsNxASfnteS9JpUAZ184tle5WO/0ipB6WCkX11fBm7jkqag99AYw/PbRLfw0hj5unLhVk7uesYdfQOB8HiXceUKF3+XY54dq5wJQN+sFfhDaDSF8Tjv4ktDHwUHdO2Fu08ptxnzEvz8drsHYbPYyagkpKSUFhYaNr2qaK11g1sPaikpCTL55wYsbnVpKBUPML6ZsU+ob1Xi5lTk7H/eCWS3E40TU/UCSSzinXhW4uwRmA7B6QO51N5JAmEO5dn/tiC0V2bYWiHbOF5kUZapRq/g4fToH5acwAvX9ZPtf+Sd5Zgx5FyLJp0GgB1x8wiuTYdLEG/NlmqDpC/rrYz/2xpnurv9xfIo04CjH5hHgDrc5lem7NTt03xaXH9G3svVkO9jWz1VBHUkQXU1sOlaNMoBamJLqRoBJQV5YXXoBglVdIAQ5v9wBcICa85d+tRLNpZiPG9W+KgZoQuGjytzy/Ggz9txIM/bUTelPEY/PRsYdlc1UxjAwC7DCItmVAVCSgrvthXZ+1AL25RPv4yRgNGBwGufH+Z8reVwf6S3YVolZmEgyUeZCSbrxLr5+okExalngB+WXsQF/TXZXsT3kvLZ0v3IivZjbE9cpCfn4+jR4+iQDN9YEuZFEVcVOlDhVeqR/m7CZqkJxoOAACpzvmDIaQnSc9VUOpBSoIT6UlupS05oxyksBV1rdIgBFSSgfNS69g24ue1+kQXny/dixYZSRjTQ0oxeMpzcwFInaq24zLryIyEEyD5S5Zzjlp/MITCci/enb8b787fbdiBRwp0OFiirsDrOY2it2ClzR2yHZtFP/HPw8wlbDTN39sTMNagvl2pnnPCGl/+cfO5ObuOlqNlZhJS5HBloxEjE5T8blZuqyPISNe2YuIb+8pC9G2ThV8mDFfNNwOs+X9Y+iteQJUaCKjdR8uFqX5YWLNo/l5QqHFFLBaA6pn4GJUG4fNMkxe9IzM/DePlWdvx7D96K387LGhQTk1nrQT2mCRsfe7PbTi1S1McLPEonT8gmQRTE1yqyb+8YORLkFdYgXfmq837Vliw/Sge/lmKXHzy/J74ZmU+fr/rFIzTLLGyY/I4uJ0O/OebtfhxTdg836ZxMhbed5rh9VlkM+tnxnF/a/fVFA3CxNetZUa1zp++qUC37aGfN+LmT8VTuLQNIJY0SSL8QYqiSrE2d7jEgzlbpXJqNSQt2gZ+kDPruU06nXCIcPh5gpqRLi+8PH4pSkqaFGntHZgJV38whNNfnI9/frWG2ya+LisiXx6vwOxnhtG1v16hjwwzY53A/AlYs8ezEeoGbtI2+w7a8x/+ZROGTZljqUwMkTbCB7QsF0SyMcxG31YpNvBfsnlSWl8lENYgI8ELBF7ZM/puDo02wOriQz+br4jNzuIDsEY8OxfDn1V/Cz5Rs/bb8b4oI9I1Gvi1nM/u4V82YeOBUmGEbSAopT76cY16oL3/eBVyJ03F3sIKfLtyP/Ycq8CMTYcjlqM2aRAalFmnGw/mayb2aju2aCdnJrud6JOTqQtzveOLVRjSXjLrtcpU23Gv/2g5th4uw9Ynx+J2k3x3gHno9ep9xQiGqFB1P+8NaYkIVTSWRtXXmvhem70Dr87egbvHdDYtkxn5RZXIL6pSMnKwTrOowodJP5pnDViZV4RKXxA3DG+vTOS0apYw6siY/yTagYfe9Ks/5r7v1+HblfnKyJSZ0f73V9jxzrQp0f2jzfUnqpu8ULj0XeOoQysh84XlXqzLL8apnZsK9xsNuNgnEgV+WF2CQpQkd+nuQsNVsbUalC8Qwup9RfhlrT4Ih4e1/3JNlK1WO/x8qTSwcTkcwm8fiTIL0adHBS4LXzBkGgF85fvLVAFBN41ojyR3WKKHQrRG1pCyQoPQoOJhKzeDjz7KnTRVN4oxmqgrGkEnuR3Y8uRYJLn12YZ3H61Q5nVo7d0snHTI07OVgIVYicbcwPpI1ulrNSgmTJYK7OdWGfX8PFz+3lIlNU+T9EQAUnoapt0+ck4PYbqj71blK05rFikYDFE8++fWiOHmkSZYW52A3b1lBmZvKVBpfoDYfKU1fYqEKRMg8crrp43CtKrtHiv3YeCTM/H0tC2Gwvz/ftiAGz9eaejHMhZQzLRZDQ0qqBdQc7fq56Ypx2je9Z8bD+OitxZbuhcgTqT74oxtukGDy0HgC4pNm9VF9G4CwZBQEzU654O/9uDNueE+wB8KqSwbszbrLUo1RQMRULUr/nUalEGDF5mz0hIlwcOPYKzA7mC18ZphJUKKwTSoV2ftgD8YUmlQd321RvEtLd0dfUaHXUfL8cacHUpHPF8OqU5wOnRpjNxOEjELBhNQZZ4A3p63S4mY+mjRHuROmqry8/y4Oh/TNhzW+Y14rHbkwVAIN32iNwdbMfGJ/DyKBhUnAdX3CWkCbZnHjzKPP6psIoUVPry3YLdu6gGDfSejQCO2BpoW9m5F2fVLLdZxXjAwK4pWCPFod1mdL8cQCajX5+zUJQJwaepqPPMH834wRiBEFf+xiEjP6fGFVG4O3rUhWtYjntSZiY8QMhbAqwCcAP5HKZ0S4ZSYMauU1UVk89Umayz3BpA7aSrm3jsK7ZukKttFo5oEuSGJNCgj5m07UiPLOFz/0XJDHwGD3Xf3sQr8tu5gXLMkV3qDqknUbF7L1sNlOO3F+apj3U6Hqf+KUqqb/8X+fkuef1ZS5ce2w2XIaZSM/3y7Li7PAADbC8SRavvk1FOF5V5kpyXqyksIEUaSKRpUnPMmDnxqFnyBUEwDOlYPDpVUobjSj+7M7xtj02PRtXwb+XPjYVBKY/JBzdpyBL0enY7LTLKcRxuRpsUoeOPhXzZhZJdmyt8uh1pAmYWWawmFqGl/JrJU+ALmGlQknp62Bd+sFOcZPFhchR6tqufjN6NONChCiBPAmwDGAegB4ApCSPzWlahFFu/SVwijbMKzt6hVY9FIlc2PMBu5A+oQ6Os1GQvM0PqujJg8dTPmbTtqaC5kvgE+CszpiKzFREM0i0RGmsXvD1KdP4PKemeCfK4vEML5by7CRW+HzTqNBHOs4sX7C/fg+1X5GPjULGw8UKKa4LlwhzQ/RmQ64018vVtnIivFPLzZKr5qmA6ZCW34lDkY9+pC3fZYYRpUQakHt3++Cnd8sToKH5T63ZV7A6YJhKtbVqOIRACqNcooxINTKxyXTaL8gJRPsSSyfgRCtFrtcqvJfL3MONU9I+rKxDcYwE5K6W5KqQ/A1wDOr6OyRMXYni0iHlNl4JBklWpl3nFDu7DLaWx754m1KVldOfT9heHOckj7xrr9416ROiG+oSS7nXExMTIWafImmhEpEMYfDOk0KCZb2Tuv5BKQMppnJGLGv0+1XI5oYc+4fM9x1QTPaz9cjs+X7hXmg/NwvjR/MCScGvCKZi5bLFx7cjvLx7K+XSvbolVKZv1npOpv1kb4CeS8ptLZZAVdkaB1mvijoxVQg3PV7SJSpnu+XLEKqPPlQCV+4JKRFHn+VSwrgjPMTKo1tfo3o64EVGsAvM6YL29TIITcSghZSQhZefRo9Gn9Y+V/1w4y3PfmlQPQp426MxCNTIyWRpi24RByJ03Fxe8sweO/bRbahdlo/td15pFDlb5ATDm1UhKit+p6BM/I8rHxPoI5W49Epc0Z8a/TpYg/PgN1JBIiaFCBINVptt5ACHnHKpQOTzT6rPQF0aV5zSxRzyPqQOZtE9d7Vt5Ve4uw9XCZ0L+jTS4bCZGZqU0ja+uYAfrOvUheIUBr3hzUTp39Qos20IW1ET6ghBdQZh098/3y/txIHXUTjanVjMIKdcScmS/nMW7wEdD4aqOBRdvxz52ZbN6m/cGQKp0Zj5XnNYv6jVf6NSPqbZAEpfQ9SukgSumgpk3FIao1gdnkw8HtG+s6wl8EgoSvqMmcL4lfgHDV3iJhY7G6mm1eYaWluRMAcEG/8EqryVH4thjr9hcLJ4ACwBEuD9pskwipaBjXO7KWqoU3c7RpnIzGmtVRv16xTyegvl+Vj1EvzFM6+Flb9NFJ8ViS3AxW24TzVwxGp9r8kZsEjupo/SmiwcCIzk0sn69VPqYbzKe5/+zuyu8bhucCAPq1yVK2aU3b7y7YjR9W5asmtvImPjPzZiBEkeByIDc77Pf1GeQrBIAPF+3BsXIvxnRvjtQIloYrh7TFfWO7qbZFsnowpm8qwIcxLJ/DM/HLcD7JtIgaFNVFDb58WV9sfXIsulXTZ1xT0YiMuhJQBwDw3soceVudYxaSnuB06BqQdlkJACrHfopBRQ9RqhvVJLkduPmUDgCAnEaRFzl8d8FuS1rUi5f2w3P/6APAuolPSwcuuIOx+6g6W3K8/E9JrujL6HY6cPeYzmiSloCF952G1Q+fodr/zB9b8dcO6yZDBstBN+eekbj3zC66/U4HwWCBCdQqbPKkyJSnnV8XDS4HwdtXDTA95t9j9M/Dk5udGrGjZhwq9mDy1LCWIIq+A9QDJNY2erUOO9kTBdGr93y3TmVKYtnDP7rhJNMRfDCkD/iwYlpbuONoxCUpbh7RvlqrOFvJhmHGQq4u5x83n4+mja4FgPREN5LczmovERLNMkSxUFcCagWAzoSQ9oSQBACXA/i1jsqiwkyDSnA5kGXgND8pV2y6MIrGC1G9HfqrW4Yqv9+K0LkwKkwcs20bp+CWU9rD6SBIkjuDSBqU0YhUZDLSRtIZzYWJFDJ/WrdmaNM4LJCjiWBkJLgcuHtMF6x8KCyYhndS5yoUBbREgmnDHZqm4aIBeu02NcFpmjvJaie2MILwbC8YIDDGdG+m2+ZyEtPoqpxGyRFTFSW4HMKO+oubh+i2TZ62ReW3NFpniq8LzB/E18lEg8GJ1towvFM2RndtZipAV+4t0mmS0Q6ifpkwXLg9ye00TCYcK/8Q1C8R2sCl1Ah17IdV+Yp/lX3OFHmBz+pOVTDKoB8v6kRAUUoDACYCmA5gC4BvKaWbzM+qHVwOgttO7SDcl+By6ExHjFZZYo2no4FpLKiJrLnu5Hboz2Wn7pOThfn/HaVLb6LFbB7CgvtG48HxUnDkgLZZAIDLB4cV19tHdtSdYxRibMVkxEcxsawPQGTTx/jeLVU5waKdAwaIMyjcc2bXqK9jBt+hM+d8ktspzGc3uqtkls6MkEDUCu9fO8jUlMW0bh4zH9Qj5/TAzH+PNNwPSJOLnQ79koQdm6ZieKfIpr/iKvH8puQEJ167oj9+unOYcm1+FO90EGEdXCUvMcJgS8e/fmV/PMiZDXnW7CvWXUtkDtXCy2QjDSPZ7USbximWhYoV2DpUAHBe31aGxz32q7qrvDBCotmvV+xX8jGyqsoGTruOGEc1WqE64etWqDMfFKV0GqW0C6W0I6V0cl2VQ4vL6cD9Z3dHs3S989DpIIaje1HwwXMX98Hp3fSjW0CKduJHH6KRTLvs1IjzisxS0fDkNEpB3pTxGNU1XB5RlJaRIIo2MeibV0bWABNcDrxz9UBcNEBqYA+N747rh+XGpEGJEnpWxwQjwsWN+JkAcDsduowQeVPGK0pVPARUWqLL0FTMyvPiJX01ZSWKZtJaM3hqkp6I5ASn4WDkqQt6Ydo/R0h/aA759raTLZXZKJoz2e3EeX1bqQZj2sg60Zh+j2ZhP6Y1tMxMxi0GA0oAKKr0R72C7Bk9WiiP7XY6cNupHXDfWPVgh9XR+8/uBi3T/nkKmgr6j0jwpm3RO2DvvpjLvvHk+T0NB808+zVJmFl/FWk6SyTu+369LkN+PKm3QRJ1RaRJikaje1EHcnbvloZmr6Am1NRwjZoaTIIlEgSxLrmupVfrTPSMMIHvzSsHYGyvFkoHcvMpHfDYeT11jaZjU2PzVmayG91apOPkDvpRvVmnboXOzdLw68SwiYcX0uy300GEmQDY9zQSUOlJ1oVngouYmmZdTqLr0FxOB5plJGHBf0fjofFqDYNl9zcy74zq2lT5Jnz9G9mlqW5CsRFGocniOqdG1Ba0Smp1v60ZUy4KZ0FPkAesd47qpDqG1dEmaYnImzIeXblIz+4t09EuSvNfq8ykiAFSLFApj5sGEQhRy6si86TKJr54LFO/zcK6ZrFiCygNrOMxkgtGNnJRB+JyEMPRm9bEZxT+WpNJGkXC1qiy853GrSYjVp5rhuo1tHbZkl9s2QOn4wx5qRIt2ndmZmPv2iIdf959qnDCYHU1qGuH5aKPwaJ3TNN0OYhwLgh7jUYCqkWG9UXb3E4Hkk2mB2QkudEnRz39gc0La5udouuEmJAQvZ/TujVDDhdezn+KkzuK1x8TYZSBhB98RNOtFmty9hm1QxHRNiFe+Bl14NpsDpX+sM+NEBL1vKOnLuwVcdDSSFDHgyEqfL5LB+UI58cxmAYVrXYpIpIbojrYAkoDM+MYOVONVGJRdJzb6cAVg9sIjpZS2fAmvmbp4g6rJjUoUSM3ElB8H2zVBHf54LbY9fTZqkm08/8r+cWaR9FBm42WzTTeWOZ88WgjJFlndc3J7ZT7upxEqImw9ygSrnueOTuqDBUuh0M3vSEz2Y1dT5+NP/51Cto0TkGX5unY/fTZqnOU306xgLpqSFtMuai3KtRYW9/46E3er/XxDSeZltloVB1rh6g1GUY5zcuQc/q01G0jhChSTTQBfP5/R+nP0YgJoyhGI5LcTpV5na/WKQlOLLxvtPDdZSS7cdlJbTG+t/o57jqtM967dqDu+KuGtJXOSzJfTy0a4pUTUoQtoDSwjqeXwehDFAYL6H037187CE4HQUqCS6X+M4I0rEHdPrKjYWCG1UTsp3BzVr64eQj++NcpEc8R+Zu0YbssSooXXO4o5tg4HQQDI0zOFDH33lHKbzNBYyYsq2u+0LZdt9OBnZPH4f5x3ZR353Q4VHOYmO+BvS+RcI22k6agypwhxu93jYDTQcI576Ae1fMdq7aTZZqzy+nA5YPbqjQm7ad948oBihaYwF2H92WKiCaM2uh18BrDas3CnvHIrznlot54/LyepseI2ki7bGOTM+PcPlKQwykW55I1S09UDQD4gcJtp3ZEG9lkeKUsYADJV/iPATlITnDilcv7qdKYJbr1gxp2zvanxil1MBbzoJZorAHR0qAFVJM0/SiWmfjevGoAxnTXm6Csag+8+eqzmwfjuYv7qPYXlHrx8C9SNM6E0R1VK2/yWNWgXrmsH966agBm/Wckhndqouq4IsFHiH1202DVvgGycOHNWNF2Du9eMwgX9W+Nd662FjoPqMOqtZ0E+7tnqww8dUEv0+tsfXJsFCVVI2q8LqcUes00FJeD4K2rBuDqoW2x9cmxWDzpNPlc6fh4+EqCIYperTPxz9PDa2q1ieDj4CMqtRF92rl+t5zSXvmtfdetspKVSLXGqdE5/q3mfWT00NTZXJPQeu3aTWYYHXr54LbKcuaMR86Rol4vGShZPqy2d+09Jp7WCVueGIvPbtKH5DPGdG+mnNcsI0n17tn2Jy/ohX+eHvZ/8Racq4e2U85xOx1YfP/p4eOc4jlOhBDVdq3y89i54ZSoH16vz6pzyyntdfP+zL5TdWkwAkqbNwsQq6as8WYkudG1hT5E3MjEZ5avqll6kmm6HLORvtUBTmqiC2f3bmmY8cGIP+8+RZX/rE9OlmoZZ+an4H1Q2k5MFK7Ok5nsxkuX9cPYXnpzihWM8n29enl/w/B+RiwRgQwjLRoAp0ERdG6ejqcu6I0kLrrvn6d1RmqCE71zjK9hFWYmfFPO5m4F3ielnRCujcgc0iEbr1/RH4B4QHTPmV3w0PjuGNcrugwf0bz7LU+Mxc/ynKPPbxqCb24dCreJ+cBqpgyj1Ers/WivM0yeO/fQ+O7Y+PhZqmeYd+8oLJokXiJdWxpCiNDsz4elu50OfHfbybju5HZIT3SpzNVMACc41X5sqymsElwO3bEjBNMDWNtilhLeHCz6fg+O76Fk/uiTk4npd9dcnkqgAQmob2/Xh8cGBbPQ+cbL+sX/ntVV6bQTnA60zkrGeM52/ftdIwzXu1Gua9KgzPLIsWib/5zRBQ+fY5zwPZpw0Vcu66escNutRYZpPq5z5fkYIUrxxpX9MWF0R93otaYiqi6Ro5qM5lpEyr/H6GASBchonqF+B89f3AcnCQY1DMUHZfBdR3Rugk1PjEVLAy2CmoQI/OeMcIaHr24Zio5NpUEHH10WCb5T05qlRWVm70g0xyk10YWbT+kQUXPWDrQSIwkobvSVnBAe8Y/o3ARDOmSbTm3QChaWKUXLNSe302k36x87E9/J/YH2kVhaJIeD6IJIcpuk6kL2o2XKP3orWr/TQTAotzEeP78XCFELIvZ82rGZVZ9Rgktt4vvjX6fgc8EEazZht68sdNxOopip+SS0Z/Rorkx8Z5HJ5/VtFdfldUQ0iCXfjfALVkTlR23MxMNXcEIIFk06DdsOl2HqemmRtl6tMzFhdCcs2nVMN9+AYaYlmfkknr6wN3q3zsSdozqhsMKHJ3/fLDwuGr/GBREm9vGwSh6iwDl9WuGcPq2wo6AMk6dtCd8b0jLR3Vqko1uLDGQLTKexwMyeWocz0+as+ud+v2sEejwyXfk7NcGpy8BRWhVAgsuh+AUjzWPhNSgzjKLNzPqZc/u2UnLj8ZFzlwxqg29X7jeN6Hvy/J6q/IiApEX879pBWLDjKD5dslcYoNGzVSaWP3B6TPN3GInc+wOkQIZ3rxmIRJdDmESYzd8xysjQuVmaYfYP7SDp0pPa4L4f1uuOO61bM7y/cLdqG9/xattNdTRuIz66/iSUevxonZUMt9OhDE3MovZYubQh96ze3HVaJ+0pKrT1srVB6rR3rh6IPzcexgY527rb6cCXNw/B0t2FqvK9zyXRLpWzhETKoh4PGowGJUK00q2TG7WxyiCyd2s7qDaNU/DNrcaTGGNd1Tc7LRETT+sMh4MIfWaA3m8UCx9df5Iwkzt7Pr6hdG6ejrwp4zFhtGTaIwR4+JweuGRQG/TOyYxodrMKMzdpMzUwTdJqJKDW1LHhsbN0x1T5g5hzz0jFd5gTIZM3G91HmsBs1OH5uff5xpX9cRE3aDCb3Pvd7cPw6Y3G3/uak3N1GTQIIRjTozkeOacHlt5/uqG/s1lGUrXCjrV1/GiZF2f1bIFRXZthWMdsvKCZTHzNybl45+oBhpkQ7j+7u6pj5LOTiBYefP/aQUoGD0AKtNH6mMzgrx8rT1+o13JHd2uG8/u1xiBZIx/UrhEapybgvL7GA0X2KrUaE6s2RsJNtDQOYNz/5DRKwc2ndFCCOga3b4zOzdNxzcm5SvvTTgRmkY9DO1ifdhArDVKDGtO9OWZtKVB8UA+N746npkoaAf8hWacsGiWzbfweM/twPEZmRp2HyLYcLaMNMl44FFOD8VyfeMylEMHMlqd3a4ZEl0NZNv6mEe1x04j2Zqeq0DZOI1NVTqMUvHv1QOwvqowYqcWyH5itLwSo55q1zkpGq6wkVZl+mzgCvXMycU6fVji3byu8OXcnspLd+O72k+MeHeVyOtAiysAFM3q3zsTxCh96tMrAzM0FuPesrnjwp43K/oLSsCb3JZdnkuF0EFO/ZJLbqQo26t4iA+f3bYXLB7dFM8G7OaNHc5zRoznGvboQWw6VKu/aKvO4yNFYsWLy6t4yAysfHGNqMmXmRe0UAdYOjYKnPr5hsDCLh1kSbAAY06O5yvcMhE3D2lD80d2a6Y6tKRqUgOraPB35RZWqxKSAWgCJBJSoMrDj+H1mPpFYlrkw49qT2+HTJXsB1IyA+PHOYUhLdCkLxYlMUjWbx1iaEFxc6cONI9pjZJdmOPeNv2K6juj9OB1E+b6D2jXC5YOl8F2Hg1gKI2aKUyTNmP/uf/3faOX3q5f3w+dL96mybYzu1kwZKJj5v+oLv901QvV3YbkXD/60EZnJbpRU+SOu/WSVKRf1xqQfN2BQbiNh3kEtn9x4EjYdKFXMq1azo1SnHTHNxqpfNJI/79ZTO8AbCOm0y4DsljAaDCcnOIXBGbFYcJqlJ2H2PSNVy5XUNtUy8RFCLiGEbCKEhAghgzT77ieE7CSEbCOEnMVtHytv20kImVSd+0fLn3efgo2Pn6XMS2IObF5AOQUCSmTGYcfxAxMzc4+RBhVpHoYRj54b23lWGdC2Ebo0Txf64Rjt5YormucVD1ITXXj8/F5ISXBFvb6REVPlHHP8aPn7O4ZZXoeLsUJOXrokQoZ0fg4X7wjPaZSCSeO6xWU+T30hOy0ROyaPUzrVcb1ji9rUcvngtpj2z1Msa83N0pNUFoHaeMcs6KW6c+8+vXEw5t07CtlpiXjsvJ66fsMvL28R7YKUsb6Djk3T4tb2YqG6GtRGABcBeJffSAjpAWkJjZ4AWgGYRQhhoUlvAjgD0iq6Kwghv1JKxZ7/OMM6h8tOaoPuLTPw9Yr9+Gr5Ps38g/DvgIkG5RRoUGaVRhRll57kwnXDcqN6hi9vHoKkhPCs82jDyqOFOc1FIdcXD8xB1xbpSgRQTRKvRtKzlfQcbRqnYMa/T4050SVb2VS7CKIWZuK7YnBb0+P+LridDgzrmI2PF+cJp3bEitnSIZHIzU7BOs0SFfGGWRhEmSei4dQu5ouzjuzaFN+s3K9a5PHvTLUEFKV0CyBUjc8H8DWl1AtgDyFkJwDm2d1JKd0tn/e1fGytCCgGIQR922Thi2WSicxo0l/IgomPx6xyOhwEt4/siHfm71K2xbJo2TDO3zTj36cKs67Hk56tMvHjncPQRyCgHA5SK8IJsB41Fw1dmqfX+HLuhBBseWJstbNGn0ic2bMFNj1+VsR1imqLR87pgVZZyXh73q7IB8dIWEDV7Hc+u3dLbH7iLMtpvMb1aoE/NopXNz4RqKm32RrAfu7vfHmb0fY6gWkfRvOArhraFgkuh27hOwBIk6NotCGr1w/LxTe36h3CADBpnD41f3Xo0jzdcAHFeDKgbSOds7a2qa6AeunSvsrcl9omOcH5tzLlWaG+CCdAMj2KlpY5UYkmx+TrV/THpsf1UasnChGflBAyC4BoCvmDlNJf4l8k5b63ArgVANq2rRnzyM0jOqBL83SMNFCr++RkYftT44T7El1OPHNRb12o5WMx+pRszGEaazQpbnhEq+FWB0KsZ/mwqXvM6s2Nw9ujn7ygZ6ywcPD6NhBxOR11PrisDhEFFKV0TAzXPQCAn6iQI2+DyXbtfd8D8B4ADBo0qEa6AoeDREx6aUZ1/QrvC+Yd2Yhx1ICJrzrcfXoXZZVSm/qPmeB45FzjDC1WuWNURzz8yyY0rgWLRkOipkTrrwAuJ4QkEkLaA+gMYDmAFQA6E0LaE0ISIAVS/FpDZaiXXM8FRcR7xde/M2wEXE/kk2IyinUCtk3tUtPf6ZqTc5E3ZbwwxNsmdqobZn4hISQfwMkAphJCpgMApXQTgG8hBT/8CWACpTRIKQ0AmAhgOoAtAL6Vj20wPHZeT5yUK80Psfs267Bw/vpiQmFTCmpyvS6b+FFf6o1NdFQ3iu8nAD8Z7JsMYLJg+zQA06pz3xMdNqnPbjTWaZSSgEHtGuGOUeaZ02sLJVrL/oQnBLH6Lm3qFtvGVAec368VVu0tQrsIa/rYhHE7Hfj+jmF1XQwFltX+3rO6RD7Yps6pL75Lm+iwBVQdcM3QdrjspDaGma5t6j8OBzFcG8im/mELqBMTW0DJ/DxhOMpjmDgbC4QQWzjZ2NQitonvxMQWUDINJXWIjU1DxPb3npjYAsrGxqZBcFH/1jg/isU6beoeW0DZ2Ng0CF66rF9dF8EmSk7cHBg2NjY2Nn9riHZJ4foIIeQogL1xuFQTAMficJ2/K/b7Mcd+P5Gx35E59vsR045SqkuKekIIqHhBCFlJKbUT4Blgvx9z7PcTGfsdmWO/n+iwTXw2NjY2NvUSW0DZ2NjY2NRLGpqAeq+uC1DPsd+POfb7iYz9jsyx308UNCgflI2NjY3NiUND06BsbGxsbE4QbAFlY2NjY1MvaRACihAylhCyjRCykxAyqa7LUx8hhOQRQjYQQtYSQlbWdXnqGkLIh4SQI4SQjdy2xoSQmYSQHfL/jeqyjHWNwTt6jBByQK5HawkhZ9dlGesSQkgbQshcQshmQsgmQsi/5O12PbLI315AEUKcAN4EMA5ADwBXEEJ61G2p6i2jKaX97HkaAICPAYzVbJsEYDaltDOA2fLfDZmPoX9HAPCyXI/6yQuUNlQCAO6hlPYAMBTABLnvseuRRf72AgrAYAA7KaW7KaU+AF8DOL+Oy2RTz6GULgBwXLP5fACfyL8/AXBBbZapvmHwjmxkKKWHKKWr5d9lALYAaA27HlmmIQio1gD2c3/ny9ts1FAAMwghqwght9Z1YeopzSmlh+TfhwE0r8vC1GMmEkLWyyZA23wFgBCSC6A/gGWw65FlGoKAsrHGCErpAEim0AmEkFPrukD1GSrNz7DnaOh5G0BHAP0AHALwYp2Wph5ACEkD8AOAuymlpfw+ux6Z0xAE1AEAbbi/c+RtNhyU0gPy/0cA/ATJNGqjpoAQ0hIA5P+P1HF56h2U0gJKaZBSGgLwPhp4PSKEuCEJpy8opT/Km+16ZJGGIKBWAOhMCGlPCEkAcDmAX+u4TPUKQkgqISSd/QZwJoCN5mc1SH4FcJ38+zoAv9RhWeolrOOVuRANuB4RQgiADwBsoZS+xO2y65FFGkQmCTnU9RUATgAfUkon122J6heEkA6QtCZAWsTyy4b+jgghXwEYBWl5hAIAjwL4GcC3ANpCWv7lUkppgw0SMHhHoyCZ9yiAPAC3cf6WBgUhZASAhQA2AAjJmx+A5Iey65EFGoSAsrGxsbE58WgIJj4bGxsbmxMQW0DZ2NjY2NRLbAFlY2NjY1MvsQWUjY2NjU29xBZQNjY2Njb1EltA2djY2NjUS2wBZWNjY2NTL7EFlI2NjY1NvcQWUDY2NjY29RJbQNnY2NjY1EtsAWVjY2NjUy9x1XUBrNCkSROam5tb18WwsbGxsakBVq1adYxS2lS7/YQQULm5uVi5cmVdF8PGxsbGpgYghOwVbbdNfDY2NjZx4KK3FuH6j5bXdTFqHEopqnzBWrmXLaBsbGwiUuEN4FBJVV0Xo16zel8x5m07WtfFqHE++GsPuj/yJ46WeWv8XraAsrGxiciNH6/Ayc/Mgb1+XMMiFKIIhdTffNaWAgDA1sOlNX5/W0DZ2EAyW3y7cj9KPf66Lkqd4PEHUVhuPCJetkda8DUQargCqszjx7cr9wuF9DGTd3ci0+GBaejwwDTVtmbpSQBga1AnGpRSyyPMX9YewPRNh2u4RDZWWbbnOO77fj2emba1rotSJ1z23lIMfGoWAKDKF0T/J2Zg1uYC3XHBBiygHvllE+77fj3W7C/W7TtQ1HDMn26nJDb8wVCEI6uPLaDiSPv7p6H9/dMiHwjgX1+vxW2frarhEtUcoRDFD6vya6WS1gbFlZLmxI8Kn/p9My57dwnmbTtSV8WqNdZxne6bc3eiqNKPKX/qhXVD1qAKSj0AJH+cFkJquzR1hyyfaiVQwhZQFvEGgthyqOZtricKv60/iHu+W4d35++q66LEBdbB8B3N//7ag2V7juP6j1bE5R7vL9iNK99fGpdr1RS7j5bjjbk7AQAOQacb+JsMSGLBIVcOkYyu8IY767+Ln87oOZwOSWxU+m0BVW949JdNGPfqQmUUpWV9fnFM1/XUwkeuCUqqJI3jYIn4fcSbSl8A3kDdvSv2vNVh8rQtWLyrsF5rnRe/s0T5zXe6DH9Q8tWdqPW2OrDBiy+g/36VvrBW5Yvj9/UGglG/63nbjqCksvr1tYq7rzZQAgCe+3Nbte8RCVtAWWT1viIAwPEKn3D/RW8ttnwtvqOtrfkE8eB4hQ8f/rUHlFLFFBYM1s5o8aSnZuGaD2p+jonR4Hfq+kNxu0d9FlB8/W7TOFm3f9IP63Hf9+sxeeqW2ixWvYBpUOVefedfwbXjSoFgj5XRz89Dn8dnWD6+sNyL6z9agYlfrVZtP1buxdhXFiDvWIXunOMVPox9ZQF2HS1XbS/mhBwvdEUCuqawBZSANfuKcKQsrBl4A0HFMRgw6JB527w/GMKUP7bi7FcXCo8trQqPtmpDTTZi6e5CvBOFie6BHzfgid83Y0VeEV6fI5mBDhTXjnO4whfEcjmSLBKxjO4jmWWapCVEfU0jarOBmxEKUV1Z0hLDyWWykvXPXCb7XzKT3TVbOJldR8vx2K+bhCP42oaZPMs9eh9Upbdm2vTBEk9U9aVULlteoVoQ/bbuILYeLsOHi/boznnwpw3YergMr83eodpeVBkerHj9nICqxQGWLaAEXPjWYox9RRIuh0s86PrQn9h0UPI/+YKRK1+lL4h35u/CZgOfFW8usqJB/bzmAB74aYOVokfF5e8txZQ/tlq2mc/fLk1CfOSXjcq2v3Yeq1PTm5aVecfR7eE/dY2NUVLpF2rBvgiaYIUvgB9W5eOJ3zZHXaYqXxBHONNwfRFQD/68EV0e+kO1LcntVH6LOtrUBGl/WlLtZEk7/cX5+HhxHn7fED8NNlacsoQqEwRJlHPbqnz6/dXFqtbNfIQEagciK3tI0NaZZti2cYpqO99Pebl+z8vVC1HASDypMwFFCBlLCNlGCNlJCJlUV+XQwioC68S0GkaVT1xR+rXJUn7zH03UefPXtCKg7v5mLb5cts/0mDX7ilBmMofH4w9i5uYCfLZ0L3o/Nl0llCotmhmHdmgMAOjdOhPj+7RUtnsjdLi7j5bjpZnbY3Iebz1civyiSuXv3o+qy364xIOdR8oAADM2HcYrsyTB9M2K/cLr9X1iBgY8OVO33a95Bu2IvdwTwD3frROOQCNx2XtLMPjp2crfkd6XVfzBEEY9Pxc/rMpXbQ8EQ+jxyJ/41uAdML5avk85ntEoJawZVQo6nyOyabe2hGyGLAitdPqHSqqUulATsBB7oQbl4zvtIDYdLLEUQLT5YKlq8GLEst3HkTtpasRsHqxuUajrr0sObBB9txzZlJvoCosDSin83KCNP4/XoG78OD4BREbUiYAihDgBvAlgHIAeAK4ghPSoi7JoKdU4w0/Kbaz6WyRwSj1+rOXCdLcVhBuJqEJ8z3UoN3y8XKWRRMvxCh++X5WPC99ajJs+Nk6o+92qfNzy6Uo8/PNGlHkCqlHgYQsNBADayCOs71blqzoyo85q+qbDWLW3CKe9OB+vzd6hsmlbgVKKsa8sxIhn5yrbyrwBxXm7Pr8YQ5+ZjTEvLQAA3PrZKvy18xgAoF/brIjXP1rmVTpn7QhVa8YQjZqtsj6/xPTaWlbvK8J/v1sXUaAfKfMir7ASD/2srj8VviAqfUE8+usmS+Xjy+MPhtA8IxGnd2smHLgwS0JFnLSEBduP4rFfNxk+67COTQCEI8cYgWAIXy3fp5qXNeLZuUpdACJPPo4W9p7KBXWBfx+VviDGv/YXnrFgnTj7tYUY/PRs/LL2gG4fP3B4f+FuAMBfO6T67fEH8fXyfSip9OOnNeH+hJUxFAL+/c1arNpbpLqmqOqxIjLz4K6j5Wh//zTVPE1+UMWb+9bFGBxmlbrSoAYD2Ekp3U0p9QH4GsD5dVQWFcUaAaU16YlGv8fL1SajG7iw5EgjzWPlPny6RJjIV0eRwDR13YfLce936wAAy/OMfTTHNLO+eUduJMFxvMKHU56bg6W7CwEALTOT4A+IR1cMjz+I2z5bhX+8HQ4eidZf5fGL311pVQDl3gDOe2OR8ckRlLWjZV6cNHkWJk+TnP1aAaX9mx81VzeMeMamAswUTIJlXPvBcny3Kj/id1kom1wzktXmNjaIqrLoC+G/X6knALfTgeQEp+n58QruufbD5fh4cR5+XXdQuP9PuZMs11gHPl2yF/f/uEHRAoGwhsMmzHd7+E8MfGoWbv5kZVS+ViPYe2ICavfRciWDBN+e+Ig+v8UgIu0gAwAOFocHjoGQLHjkuvfV8n2Y9OMG9H1iBv79zTpsOigNgpjwOFBchZ/WHMA1HywDEPbLsvPfnrdLCYpg33LtvmIA4TlxvNUmEKRYn18MbyCoGdDUrG+wrgRUawC8/SFf3qZACLmVELKSELLy6NGaS8BIKVV1/Nool0KN8Lnzi9WqSY1AuC9slp6ou75WoFUngkvk09pwoERwpJ5sjZOfDyQo5pyhgyfPwu2aCcSztxRg//EqbC+QKnT7Jqnwh8yjesoEZpBzXv8Lz0zbgj2CSCLG4l3HFEFmNEp/YcY2PCxo0DxaE4cWlkdsxqYC5E6aiod/YdqGdJ72mfhRs1WTqBHP/rkVt3xqrO26nZJPgHdSi5j0o+SXTHCpm7HHwAxtBP+sZR4/3E4HUhKcqo5WS6zvYF9hJe79bp2uHXwRwYTN/GGhEEXupKl44nfJFyjyJ/qDFHmFYbPwrC0FmPLHVpR6/NWax8Xe04+rD8AbCOK0F+fj5Gck0y1fV/mIPjNtmbe6dG+Zodt/tDwsoNiAkCmMLs0kNSZktPdjR1VxAqrcG8Czf27FxfLgkVkdludJZkRR2qb9xytx3huL8MjPm1RWpPP7tjJ8vnhQb4MkKKXvUUoHUUoHNW2qW8cqLmw6WIIPF+Wh/5MzsVeOetGGWooq2IzN6hRF7INde3I73bHajs7I/2Al8ox3YBsxfMocHBRoKg7NVPd9x8MN+M4vwiGpR8q8+HPTYew8Uo5Rz8/FkTKPovozth4uU42cRELXyHn67oLdGP3CPMPyX/n+MmW/UX6zjCS3LqLv5zV6E4kWPs/eb/KI3cimz5tpAXVn0vPR6XEJDPFo5pk8P30r8osqlYjRoggaFHN8t85Sh4N7LJSNL//wZ+cov/1BCpeDICXBZSqEKn0BfLFsL26IcnmJST+ux/er8rFC8/0u7N/a4Az5frKGom0/ogQO3kBQWCf7PDZDsTbEAn/vGZskDZi1gwpvAOlyBCTvC/aatGtmkQCA/pwPm1FQGq7/Xo0pOtGl7gtYa9RFZco+PFbX/MGQ4ltk9Us7YPxhlb4tsYCJb1buhy8QQg9ZoFrV0mOlrgTUAQBtuL9z5G21wtfL9+H12Tsw/rW/8KQ8EjssTzhl9bpxqqRxeAVmJm3DZaaoHq30oyCtgDMSRN+ulBRKbyCI3ElT8dlSvdmPmcuqfFLAA6UUzTPUWtuB4iql8+XRNtgJnFBiDY8/5pPFecgrrMRdX67RCYrjFT4UlHh05/OI7PRm+AIh5d2wRiZ69wDQLCMRGpcE7v5mrepvkRWOt8d/u1Ky2ycbCH1tzjmtH+nPjdXPo9jt4T8V7XXN/iK8OXcX7vpqTVhAVfiw80gZcidNVebh8QzrmA0ASElQm/ismN94DVdrpnExE5/JdaZtOIwHf9qIuRaXlyiq8KGw3IvFu6ROWZsyKRAMYfYWtdlz55HwYLHSF4Q3EMT3q9SBHy/O3I6JX6rn/Hj8IcPpID+vFZsSrcC3Ze0g0OMPKVaKfZz2xreNPzYcQu9Hp2OjbPXgB1UiUxkvbJhQYd9EO0BiQT3a7ey6rG2Ve4NK/2WUnkk7OAPUgsgbCKFz8zT0bZOl0hZrgroSUCsAdCaEtCeEJAC4HMCvtXXzST9uwIszt6u2OeTRKOukmZ9B2PlqNAr28ZNcTpyU20i1T9vJsuud3q2ZanvHpmkAwiaL12fvQJnHj8MlHmSnqs1z7y7YhVs+XYmFssNUi8up/6xaASVy+vPPyiJ6lu05LoxG4v1dIi0z2vDTsa8sUMwlZtcFpPdfXGGuXYhyxjVK0c/ryW2SqvqbCaZI5U8QvONYuOurNQDCAsNBiGKyO17pU9YX+n2dPsyadWDaQQ//95FSjzACVGSCZbidBCluJwKCeVIAMKJTE9XfkXxy6/YXo/+TM5VktIB+APDIr5tw0ycrMWPTYUXT5cOcK30B/N/36zlTbJjfNZOovYEgqvzRB3EUVfjwyeI8w+fh25DeMhJUBrXvLtgtPO6OL1ajzBvAFXK6q62HuWAqwfQV/lz2Lp75Y6t8P3G/oi0X8zkxAVPhDSgCSmtVYbTKTNJt4wecvkAIiS4HDhRVYcH2o3HJsmJEnQgoSmkAwEQA0wFsAfAtpdRayFENwRoMs1GzDk7UQNmHXZF3HO8v2K2MhHzBECZf2Ft1LF/x9hyrwCZ59MSHaQPhEX8VV3nOff0vDH1mNlK5yZOfL92LDxZKoc4lVX7dfAdAb58G9CO08zjbcd+cTADqjs3N+TX4vuSiAXpTjOgd8RV6wuiOuv1adh+r0Jm0jDSocm8gYlSdSFMVpanSHucPUhwu8Sgj/fYaAcbYViBpNp8uyTMtRyTYwIR9d5eDKN+vqMKn1EtRXjwmwNkzBOW1e/jR7mXvLcUDP21AYbkX/mBI6XxFodIMl4MgWZ7vJNKitP5MI0f5oZIqbD5Yigve0gezBELqzP/s562frUKfx2agoNSj0ga+XrHfVPvhfcfeQCgmH9n9P27Ao79u0mnLDL6eBzVCzBsIqdopv10LGxz0kdtd0/REVPmkb8P7yLxBvYBiaOvtizO2Yd3+Yp3JLdyvSNeq8AYU4c3qVKLGhynSilRmy0AIiS6nYln5y2CgHA9qZ7adAErpNADWUn/XAh5/EG/O3YnX5AwJzEQg8jWwUcklXN4yQIoMG9W1GRqnJiiaEOtkD5d4VL6XlAS1aemJ3zfh9pEd0bVFunIP5uh1cr0TH+3jchBhxyUaGOmi0rgOnpko+cbkFl0YQJtG4cl8DiIJr0gCqkWGfkQWCUqp4aRoNmFYi9tJlM5SK9yqfEG8rNGaAb251hcMYSinyf08YTj6ClLNsEHJI79swrUn5xo/SARYIALrFNxOh1K/5m8/qgTeODXf42iZFxvkjpR9v47yuj2vXt5POY75F3YeKcdl7y3F4+f1xMq9RehgIHgBSQNnZsNKfwCZUGeNSNN0xA//vBE7jpThxzuHq7af+txcQ+FV5Q+aBhBM+mF9VO91FNe2PP5g1AKKUootcuCMdiDzxG+bMbBdI1U91woCrz+E7FT9eN8sipdS4NQuTbFg+1H8sDof3VqkY/K0LVj+4Ololp6kmpvHt81j5V6Uyz651lnJOFBchXX5Jbj03SX415jOuucCeBNfANM2SOZpf1AaJGiFqGhNtG2ctlflC6oCc2oyk3u9DZKobTz+IJ6fHk5+yBqPtoK1zkrWVc4rBrcFENaK0rlZ9mwUNEFjJ9c6ObcXlOM/365TOhtea2GOVq1QczgIiKB2iOzvWgHF+5WYEFaNygxqXVMuUpGNGEWNkM9dl+By4JMbB6v2B0MUWw6VCkPnAanDNtKgjBoE34nz3+hAcRVOe3GeyqSi3EejifHP4iBQHN+Mc2XNkw+Z3yGw2VuF+cKYoHI4CErkVFiLdxUqWgMhBEfKPMq9Tpo8S9HytUERK/P0/qqXZ0nC+e15u/DbuoN41SDTBiCb+OS6JurotVkkvlm5H6v3FesmN5uFIFd6A6bRhiM6N43KAd8uOzxw8gZCpv6z71flo+/jM1Rmxk+X7MVeeUDIRwYeKfPgw0V7MOHL1fAFQrigXyu5/NrpJ0Ekupx45Jweuu2A2i/FKKnyozE3n/DjxXkApGkGgLGJ+6TJs1Du9SM7NQE/3DFM9dx8GjUgHDzB3mV+URU++Cs82ZzdY1yvFuFzBJ9t1pbwkjNV/qBK66rJ3JK2gJK5/XO1AAmGKIIhaXTBd8qNUxN0jTYUoiAk7HDnPx7rZLUTBhNdDix/8HT8OlE96vzX15JPghcgbPa+1nQXCFJhJRZFcWmFFls6JD3JFdagOIFgFH3EvwuXxm/HM0Oe5/Pfs7riHwNydGlUPvhrN8a9uhD9n5ypBKjwlHn8hg2U7xz4IBE3FznBC9vhU+bgkOAe/dpk6b4l/ywpCS44HARn9WyubEt0OZCe6FJ1vme8vAAr847rTB2fL92LzwXBLlr2H6/ES7J2RylVvn0PLvQ4GArhtBfm44yXF+C7lepAAa8/pDINidLZLN0t+QytdPoszBwA3pm3S2fG1AptRjSrEVf4gqZlSU90RZVTcS8fmOAPKddecv9puG1kB9Wx9363DiVVfhRV+vDtyv3wB0M4yEVz8nVi8OSwNu0LhtAyKxlOB1GHlXsDKKzwIdHlQDfZAqKcE5BMd6c+P1e1XfKTBZGc4MTILk3RKMWtDHrYQEo78GPtjVLJRJuW5FLlRMxKcePrFRp/o8Z1oIUJ48apev+sGQkuhxI9qg3SiScNSkDtK6zE2/OsT9jzB0OS85NzrqckOHWj7mPlXiS5nIo2wzsfWSfbNlttUnG7HGiWnqRz3OcLVuYMKBE66grrC4pT8Ys0D18whPREl9Khsw42K8WtNGZesBn5eFK5ysjMeGammjtGdoTL6UD7Jqn4lNOinuZWrh2qCY4ApAZoFJLPd4S8GYjvlq10xIkuhy6YghdQ7Cvy39PtJMgQJEq9+J0luFqeFFlc6UPupKl46OeNwgmYWso8AWVSLh/4EqIU/eWMGPuPVynv+7/fr1ed7/EH4eHelWj+FEt2axZdyQZYLkfYxPfdqnw8oglMMOqQjpWbz9vieWH6NtNv5A+FDCdqA8C6R8403OcJBBWfTXqS2zBS8+6v1+K+79fjo0V70L1FeDBgNP/LH6RIcDqQ6HKoBkknPzMbxZV+JLodSHSru1RvIIQHuTrAMrC8OGM7PL4gktxOtMhI0llUpHKo3w/vN/557UHsLaxEEne/YIjqJnez2m009YAJKFEAkRmJLic+uH4QhnfK1k1ziCcNSkCd+vxcPCtYJdSIH1bnw+MPIdHtwCUDc/DA2d2QmqifH3KswqeqKF2ah0dRbBSU00j9EVkosXaSpRk6ARUIwesP4baRHTCyS3iumKgy+oMhuJwEyx4Yo9reLD0JpR4/QiFqOHmXh9eE2EDdLLecg9P6Tu1ifT6bLxgSXjeb02D/PaaLah8vXMw6N4bo3asmrcqdOW9SdDkcQg2FMXzKHJz24vyI9+Yx8qmVVPmxRp7d/+cm47B2jz+IaZxJVTR5lQkPsyXbWfCD2xkOkhDB3kfHpupBl9FSNCKq/EFlVC/KjO71h0w1KG32DO25heVeJLkdSE1wGgooNkH1vQW7VYOsQu45zuzRXHVOgsuBBJdDlUiXzRNMdDl1gmbN/mJs50zLLGr0vQW7UeYNINnthNtFdFaImZsLUOULqKwmogS9vIlfFJmpRPEZaFBs3aj0KJP/Jrgc6NYiA1/cPFQ4vSZeNBgBFe28HAB48KeNmL/9KBJdDjx/SV/cempHSYPSjLCkxhCumM9c1BtPy9F8zAatDfVl2QLMwpXZMUZ4/CH4giEku9WNUKtBHSn14FCxRxGKfIfbPCMRlEpaCX/e8QqfSqgOad8Y6x87E205W79ocmBhuRcFpR50bZ6uMo1Fiy8QUi2/DgAL7xutRD4BwKiuaoHHa0NWzEOiUavIb3LJwPCUPZeTCM2FjAPFVVF11ABUyXAZ3Vqkm96HxxMI4b4fwlpVkRyCLwoX5tHWLzadwcWZ+EQw+dxBjkBkRBNu3C47RdGgWglG4L5gSBloTRrXTbefEIJ3rh4gvLY3EERhuQ9N0hJBiLmwBSThzQuIjxblcddSt6WUBCcSXQ5h8tpmGYmqgSoAvDZ7B1Zy8++0UaHJbicSnE6dOe+WT1di86FSNOJMb6mJLjx/cR/l74fGdxc+D2/2Zt/KqD2wbyayCmjhs11oI/9qigYjoIw0AivwI+3UBBcqvUGVQ7iw3KcSEKmJLpzdW3I6GkXxsA9spkFFynPFQj+T3E6M6Byem6KtjMOmzMHsrUcUAXXj8PbKPpaxqMqvNhcu3X0cGUnhStu1RbrqbyA8GuefceBTszDk6dnwBILCzBc9LY62RAIqOy1B1dm4nQ5VFvlgiOKi/q1x9dC2lk18uvtyHdWY7pKAHd2tGa4c0la5ZzyYNK4b3r92EIDwJHHe0d9PkFnAaDCj1YqYPyTSasdN09STvLPlv90OYiqgerWWBgkXD8xRaT/8Qn68XzErxY1rhqqzrGQkuRU/J594mDHlj62YL88Bu+3UDkqmiRuG5+Lly/oCAMb2aonhnbJ155ZW+fHjmgNK/SmKMGcO0GezZ2ijeANBikSXU7jacLknAF/AvM2215j6kxMkDcoXDKFzM7XALyj1KtncAX30ZHOD6NiWmWGBz+pGlT+ouhaD5R7NsiCgeN9jNJaf6tAgBNSWQ6WqjNgAMLprU6UDMmuMgHqknZIoaVC8il/lDyJR0xmzD+jlMiSwmf9AbCY+LUylT3I5cNWQtlj10Bi0aZyMcm9ANS+EaRYuecT8f2O74ZMbB2NszxY4pYsk2PwBquvUUxPDz8RHyM29d5TqOF8whO9X5eNRLiu7xx9EkkBD+fD6kyw9my8Y0gn3BKdDJfQSXATDOzVBn5xMxTndsVkaWmQkIRii8AdDqmwEWoQCirvnpHFdld+scxDNMYuFVlnJ6N5SKvN2eYmIlpzGwwejnCNHh1pdKK640mcpLZZWgGXJgsIVwcQ3uH1jrHxoDM7q2UJVf9ncqsMlHpVf0eVwoIX8bON6tcDYni2kbNzyciBG/o9le44jye1QmbF6tsrEhf1zlL9DglfC/MxM+7lumCQczebjPSav83VOn5ZwED48W30DCir5oAQa1G0jO6JL8zTddp5MjTDOTHYjwemALxjSZY/cd7xSle4oTeNeMNJ6+In9PnnuW5UviCaCXKFMg0pJdGH5A6eblp2vE7YGFUdELoMxPZorNnSW0t8I3ueQKuco0wZKaFV7Ntr1BUJKg+E7HSagrHZ4InNfKadBEUKQnZaIZLcTv68/hFEvzNNpjSzSKcHlwMguTfHONQORLmtFnkBQ1xj5To5fdkRrr/YHQrj3u3X4hMvK7vGHdO8E0CfUZSH6Wo3BHwzpOmSX06HSVNk7bJGRpDRct5Mo5a7yBzHmJbU/KFkl4MQZNxwEmDi6Ezo1C/sS2SDGQYjyLWb951RcOihHdw0rJLkcSE+U3v3+41VIcDmUSDtAPSAY2K6R7nwzAiGKZLcTt57aIeKxM/59qvKbPSM/D0oLK1YTWdviayXz2S3Q+NQSnETp0AiR2oonEFQymPP1TGsWZvtuGtEeLTOTcEpndVvVTph1Ooiu3mSlJCBvynj0bp2lbGNh1dr217V5OkI0PC9Na+I7u3dLyQel8encPrIjMpPdwiwuPP4gVQ1Um6QnIi3RBUqlVQW02iTvmkhNdKkG02yCPX89QB+RJw2SQ8o342HLCyW6HGiWkaSs+SZqG7z1QGQerwkahIASzZtJdjuxTE5YOWtLgRItBUj+Fp55XL6xlEQngiGq8zNotQWX0wGng8AbCCpzTvgonLA/yFxAsXNEFYLNeeAbeDLXsWjnPIhIkDvbM19eoGgbrEh8Z35273DmC62A2i/woXj8YhOf9nmZn6tVltpc8deOQvgEwR4pCXoB5eY6DJcjrGXdymUMf/Ds7lj3yJlY/qA0SuzULE04CvT4gwjRsLbJYNf0BUO4QTaRdmiShlFdm+muYYVEt1OloWq1xQNcNGc217E8eUEv1XGp3PvgzV2iwYEIPqCHfW+3gxgGFrg0SRB58cA0qCNlas3MpdF8k9xO1WCoCZeZ4t1rBqnOZe2qV+tMLLn/dJ1ZSzv3KiXBqQSE/DZxhGofX29fubwflj9wus6P01L2hzHzoNcfVM4b2qExchqlyBqUum6mJVrrsIOhEO4bG/appSe6lPmExyu8qkGslgSXAxcNyMHkC3thx+RxyJI1zw+vPwn/PD08QbexJtPH2v3F8AVDOpMuENag2PdhA6NUgQbND5IjWZ3iRYMQUK0b6Z2w6Ulu1ejoxzuGYffTZ+PrW4fioxuMzVAp8ofUhoOLOoQEp0PV8fB+Iqu53JiNXxR9FdagwtdK4TqCV2ZtV5LhGsGPlNhqsa1kG3ZyghMdmqbiNs1InAlLNpplk015vIGQzuwpgnVOWsH14aI9Qv+dSINKdIZNLm5nuHPlNRJCJPNKepIbv0wYju9uO1k4SmSvWetrYn/7gyHcP64bdj19NhyOyA54I0SjbV6bOYkbJPEmGz6K8oJ+rfD+deEOfcpFYQd6ktsZMUeeNt2WEmYuD65EaMdT/C2YyZlpUuHrcRoUJA3X6w9iWMds1cCQ3ZOvz5EErTaikplinQ6CXq3V/k5eg0h0OdEsIwkpOr+OdAybi+YNhDv2HDmLSqJLHyjFBzOIlt1hJCe4VNaC1ESX8m5CFEIth3G83Aung+CqIe1U9TPJ7UQ7rl5oc3eyjP3aFFVAOAKRvWe2MKRIg+bvaQuoOKJ17gPSaOqxc8OzvgkhcDgIhnbI1n2cWf/hzCByhdau5yPSFhLdagHFa0FWfU/MLyBy+ivqOXdvvuLkCWavaxE5/VkjTUlwYs49o3D/2fpoocWTTlOc/EZYGcWz+zsJwfIHT8fUf4ZHvSKfSxL3fEzIu52cBqUZrYvo2yYLjVITTM0UWpMq+zMYoiCEKJ2pUcLNSDQRdBa8NnPJwLDpkM/xxp/3+Pm90JkzQzZNT1Q6u0YpCYrw6NU6AwkuBzppnPDarAfs3ZqF0bNgkTDhY5k5qswTQJO0RHx728kApO/E1/dEtwOeQAgVviAyktxKmD0bhPFz7SK9X22IOrNsZCS5dIMekeDQdrRMQCgaVCCIIR0a45FzeuABuR0kuh06twEvFGb+eyRWPKieztEoxY2Hz+mBK05qo9qeluhStV+tBsUHRlw+WPvuw/Aav/adsGhQXvj9PEFKEFCimPhkDUq+DNPuVVMsuHvEOjCLlgYhoES0y07BkA7Z+O9ZXfHd7SebHts6Kzw6SdUIr1tOkcw9ok4xwemANyDZflmKFEakEHIGq2znChYGU0Y/XEfLVxyzAAG+jFqY89Wso2+VlRxREIiCJLSwyLV+bbLQLD1J1YgialAuOVSf6/ykRKfWqrXZIEEruJ3y31pN9tTOUpDGxwKtm9eItLB3J/qugFqj5AU9H1CQ6HKozISJrrBw5qcInNe3FbY/NQ6z/jNSdQ9tclP2bo2Wqpg4uhMeHt9DuA+QBJM/GMLqvUVITnAoi1q6nQ6VoElySWHVFd4AUhKc6CwLZlbX/3tWODhlt8nilgDw0Dk9cMPwXOVvZhURZbNPEZjhslPD9S090aUICKZBefwhJLtduHFEe8W3IzJ/8t8lM8WtEzRupwM3jWiv05rTEl2qNsiX5+cJwzGTGxybtTcWWQmoV+IFJB8nIAnoFhlJeOScHoqwLq1SW2G0GhSfnSVBpUHVThrXBiOgnru4j6ozaJYu2bInjO6kCgDQctGA1qpOX1vJmWovEjdMgwqEQrqIGyMTCgAse+B0XDaoDc7t20rpRJJcDiz472jVyIwlAuU7MCPfgREOQTnYqDLaa2kxalDP/SNsihrYrjH++NcpSifDC6gjZV7dCFfog+IaToLLIRSMokADs0gkbUfCnOlaAUUIwa8TR+h8UWN7tlAylYtg937lsn6GxzATFf88fEfo1gSNEELCUVkJTlxzcju0bZyC8/qGM9BfwY3CmTn4xuHtcfOI9sp7FHXugCTQtPWFHZqe6EKZx48XZ2zH1sNlOFjsQbcW6ejZKgNPnN9Ted4qzjdZVOFDcoITz1/cBxf1b41lchTZ5YPbqvy1ZnRsmoZHz+2Jiwa0Vgk20aRVkcbclUtNtPLhMWiUkgAHkTQoSqmcjkhdF0TtIlKqICOdNDXRpco+wdfvfm2yVCHjZvB17aqh4W+cluhS5tmlJbmw5P7TcOOI9sr3YG4CRYOSi8L6FELCgTGuOvBB1Vk289rm0kFtcOmgNspifmYCAgBm/WckDpVUYbgmwk+rQbFGLjKLJDgdWLK7EMWVfp2pQhQc0bdNFu4Y2RHNM5LwrDwhb7e8wu+FA1ork2Q/vuEk3P3NWiWtSZJKqxB3um4nwfS79SP63q0zMb5PS3VyV7mWVl9AictyQf/Wqoml/ARAp4Pg7asG4I4vVmNvYSWapCWqHNL8szKhodagHCozIACM6d4M/dvqBZSZBpWg0XCZjb8zZ4Yzo3dOJpwOgo5NU7HrqF4L0DqlRfxwxzAEQ1SVAJQfLJmd63Y60C47FQvuG63a/sxFveFyEPyy9oAibB6RTd0sb6CRVU0UccpyAOY0TkFxpR+bDkoZ1oMhipQEF6b+8xQA0mRxALh0UI5iciqs8CEjyY0ktxMvaQT1HaM6KlF+VnjpUun8c/q0xMjn51k+r3FqAt6+agB652QqnXR2WiKOlXuxdn8xgiGqRLoyROYto2VZjJg4uhPemb8LCS4HErnBkC8Ywn/O6KLyU53Vszn2HRev/Mxz9dC2WLr7uDL4BiSzK0uflewOp2NjZsXdR9WDXBYEwy/j45J96fxAsLZMfA1GQEVLp2ZpOps9oB85MFVXNOhMdDmVzkmUEFXL5At6qVR1QJqtnzdlvGrbqK7NVDm3+DJpo5oYE0d31s38B6SO8s0rB2DTgbmKz4pV4upWQiMNKpL/jTc9pSU6cYyzVGo1Bu31XE59BJrRhEYzH5Q2Wm1Ypyb4ecJw9NF8HxH8cY1TE5Q6MKBtFlbLqYv4xp6e6EI/OVhgfJ+WaCmXl5XPbMkGQMqwoTVJmqWfevKCXrpoQMB4lM8QCURW3VpnJWHzwVJVphGeZhlJSj3+ank4q8r6/GLh8VmCybtWMPrWZozrrQ4WaZKWiF/WHsRXy6V5WtoJsto+4KTcRhHDy7Xce1ZX3CtrfLwGVVLpV3xdDG1koxFPXRBei+6i/q3RoWkqXpgRXmJGNYdQU15W19ighR+kOOU/VEES1Ry8WqXBmPjihdZuzyqXdj4GoO44WeN+88oBuhxyouOjgTeLidLNrHxoDCae1sn0GiwI4+tbhyraoLZhRotoATeeyzUO4/B5Tu63xk8iEJq8tsPPg1LOiUFQasPMAcnkIjKJmh3HBN1D47vjy1uGCo+f+99RePeagQCk+vGQNnghQmfQpnGKMhGWpdiKaQkE+bsbxUiI3gmLwmuanogKn3hqgRaVSdpgEMRMmdopH5GvLV2vOglMm6artXZtcAU/lePrW4fi4xvUS8kw3riyv/LbaOAIqAdKxVWxZ7zheemyfph4Wmecxq3crbK0aIOA5PraWzYr82u4sb6B16CjFcixYmtQUaKdH2A2j4n3cQyVJ9NpQ3t5Yk2jw3fif2zUJxU1C11lsGSS7bJTFD+LFQ3qt4kjcO4bfwn3tc4yHs1qtUIe3gGrFVAi27fWxKcVPEbPYeaDimVJ92tPbqf4BZXyyB1B0/REw8470vfRlvO2kR0U04wWdr9IabJEjO7WDI1mbtelJWKIIureumoA9hyrwKdL9qKkyo8DgjlxWnif2hPn6zU5QOpMv7l1qFDrj8Sfd58inPMDAHPuGRmxXjfR+JN0Jj7uOzZOTTAciJ3TpxVOym2MIU/PNs0CYhQEEw9uPqU95myV1nLSWh/4BT4Z1w9rj745WThYUoUf5UU565IGJ6AmjetWrXQ1zTQmBOVKgv6Ar9hXmoSIMqIp18x/n4q5247ozJD3nNEFL87cjvvHdcMzf2w1jBLT0qNVBpbuPo5GKQmKeSiSnw4AurUM+2RcDqJysPPRj9HA+/m0Wpyok1fPcHcgSdOhWzU1spQzQGwjRFFnmyAI5IgWQgiaZyRieCfJH3r/OHGSUOk+zMcQ/f1yGqVgjckyFqL6mZ7kRp+cLCzZJa2nxkyYZvDfw8zZPqRDtuE+M7q1yDDcZ0Xgaad0aN9likU/IBCOTDTLQdm2cSrO7NEcWSluxR8YL/j2oxXMLocD/mBQlQIqweXAkA7Ziv+PH5OYZcKvKRqcgLp9ZMfIB1nktpEdlFGlKEiC5VZr3yTVUmcfTafSuXm60GE/YXQn9GqdiVFdm+LGEe0tC713rx6EHUfKkOR2olerTMzcXKAKXjCC73izUtw4Vu7DFzcPwUm5jWM2WaaYmfhE4fzcfZLcTmSnJeLrW4fi9Tk7sGhnoaGJT6uZuJ0EzLITr2SYWrNYZrI7qqzfjLn3jrKUXmZcr5ZYu68YdxuYkauDWR3+/a4R6P/kTOXvXyYMNzxWFbXmrn9dkHY9LW09UQWqRJinleR24vvbT1bNV9OS4HLgvQhzCmOFbz9G7UC0XRgQYwso6/j9fuTn58PjsbYkQTx5/zzJTJfTCPD6C/H+eS2RnuTCli1bVMeNakXxS6LDspCIR34rh4NgtGx3tjrXCpDmbgySw+3vHN0R5/ZtGZV5ZVjHbOySIw6T3M5qdfC8BqU1qYrMM7yQZL+HdsjG/xbuMTwH0Asht8sBcDn94oFLE7q94L7RhqsVm2F13kmS24nHDcxm1UXkg2I0Sk1A1+bp2FZQhnbZKegryMbOUKfmqh1nezQ8fE4PjH8tbLbWtstoNCgASruqC9JMBFTYlK+vW+y5+Gi+YIjilwnDcbwaK0NES7UEFCHkEgCPAegOYDCldCW3734ANwEIAvgnpXS6vH0sgFcBOAH8j1I6JZZ75+fnIz09Hbm5uRHz2cWbdr4AnIQooZolVX6kJ7lUNnpKKRLzD+OuIRX4fFPkEFGg9jIER8LtdEQlnLY8MRYuJ8HI56SM8fEITydEctZb0aB48yqvybJUP0bh7tqOR2sqjAfh+VOS6TAz2Q1YWNqgPvDpjYPxzcr9yhQEp8P8nbBM3ZEmaCfFkFGlNunZKhOXDMzBd6ukFF46DYqf6hCngUxNwbcfrYWGTaS2qkEFQ9R04FETVLd2bARwEYAF/EZCSA8AlwPoCWAsgLcIIU5CiBPAmwDGAegB4Ar52KjxeDzIzs6udeEESKNZPj1JZrJbOM8ps1FjtMtyG65mqSUWx3x9IDnBKWULEORSiwVCiDKD3UoUHx9Zx0dcMWFl1cSXINDEqguTl5E69/rIqV2aqkKeIwntLCUDiflx1a0ftcHzl/RVfms7dqtz0eoDfN3Xfj9WN0WZV/jnekqeknDCmfgopVsAYSTb+QC+ppR6AewhhOwEwGIxd1JKd8vnfS0fa57R1IC6EE7R4HI6QEBM56TwWAlhrs+clNsY+UUHlCzL1cEl+4NYlmgWbiwS4mf3ltYXOrNHc1UQC2tPRqN0bYO9YnAbZd5IvATUA2d3h9NBdEuHnyjwJqJI2g6LQItktrMSil6f0Jv4wu8kkg+qruEFjVF/Kdag1OnDgLAVoDapKR9UawBLub/z5W0AsF+zfYjoAoSQWwHcCgBt20aOgKuPsPoQqQ4/em4P/LLW+qz5+srkC3vhJi5nWXVgjSLR5cQf/zoFbeRMDqJGlpLgwtWC0Gg2F8hI2PAd7p5nzsaOI+WKgIqX6alFZhJeNklnVN/hBVREDUo28UUy8Z54Aso4ik87oftERPQ9+MdiQq5ealCEkFkAWgh2PUgp/SX+RZKglL4H4D0AGDRoUO2/GQs4nU707h2evf3zzz8jNzc3fIBcaj7rg4gbhrdX1hg6kUlJcOkyYcQKExBup8NSNKEIloHBioCS5oWIE2M2ZPgReKQgHjYwiTQF60Qw8fGY+aD+BvIpogbFJj1rl6uvDSIKKErpmEjHCDgAgE8TkCNvg8n2E47k5GSsXbvWcP8JbrGrU5iwEGkyL17SV7h8tZZhHbOxcm+RYVYB/ZpP4Q9WH533dU0kDYqtu3a8wmt6nJUs9/UJrdbO1414mYLrElGEqBLFR6Q0X1/eMgRD2sc2L6061JSJ71cAXxJCXgLQCkBnAMshzWvtTAhpD0kwXQ7gyhoqQ52TluRG0/QEbHr8rLouyglHZrIbh0o8QkHxD26tJDP+NaYLLhnURjEPatF2LjURJPF3IpLm00Ze0G/jgVLT4050XytfN+p7kIQVRD5DbRTfME3S7NqiumHmFwJ4HUBTAFMJIWsppWdRSjcRQr6FFPwQADCBUhqUz5kIYDqkMPMPKaWbqvUEAB7/bRM2HzRvFNHSo1UGHj23p+kxVVVV6NevHwCgffv2+Omnn3THJLqcEXPS2ehhq39Wx9TmdBBD4QSIJurGP8z870QkEx9bcFG0GOOJyDVD2ymLKfLwmnZ1stLUFiM6NTENXBFl82CCt66DQKobxfcTAH2vLO2bDGCyYPs0ANOqc9/6QiQTn03sNJYXbqvy69f1iRc6Ex8nlGprvZsTiUhmz+QEJ168pC8GCNbeOhERZXwH1PWmvkcSA8DnNwvj0BREdZ0N0Or68f4WQ/tImo7NiUdjOSKssLzmZq1rzTNsCYHWWcknRMdT21jRKq2aX7NS3BitWeTxROHvZv4VaVcpicbLCNUmfwsBZfP34/rh7fHHxsO6tXpqEoeDYO69o5CRZDcLEfFIxcVYa5KUtr7zd/A7AVIW/WPlXqEZnaUYq4sEsTx2S7Spl7RvkorlD8YSQFr9+9qIsSMb/178dtdwbD1UZji3EAAG5datudYWUNWgvLw88kE2Nn8T/i6ag41Ey8xktMwUT8FIcDnw+10jkFvHAzZbQNnY2NjY6IjXpPvqYAsomwbNUxf0ss16Njb1lBNaQFFK63W0FRUsYmhTvxDl8LNR89vEEThWbp4dwsamJjhhBVRSUhIKCwvrbMmNSFBKUVhYiKSkpMgH29jUY3rn1L2px6ZhcsIKqJycHOTn5+PoUf1M7/pCUlIScnKszQuxsbGxsVFzwgoot9uN9u1P/AzgNjY2NjZi7IkNNjY2NlGSnuSyl2SpBU5YDcrGxsamrlg86TQ46qHv+++GLaBsbGxsoiQ9yV3XRWgQkBMhFJoQchTA3jhcqgmAY3G4zt8V+/2YY7+fyNjvyBz7/YhpRyltqt14QgioeEEIWUkpHVTX5aiv2O/HHPv9RMZ+R+bY7yc6bC+fjY2NjU29xBZQNjY2Njb1koYmoN6r6wLUc+z3Y479fiJjvyNz7PcTBQ3KB2VjY2Njc+LQ0DQoGxsbG5sTBFtA2djY2NjUSxqEgCKEjCWEbCOE7CSETKrr8tRHCCF5hJANhJC1hJCVdV2euoYQ8iEh5AghZCO3rTEhZCYhZIf8f92uh13HGLyjxwghB+R6tJYQcnZdlrEuIYS0IYTMJYRsJoRsIoT8S95u1yOL/O0FFCHECeBNAOMA9ABwBSGkR92Wqt4ymlLaz56nAQD4GMBYzbZJAGZTSjsDmC3/3ZD5GPp3BAAvy/WoH6V0Wi2XqT4RAHAPpbQHgKEAJsh9j12PLPK3F1AABgPYSSndTSn1AfgawPl1XCabeg6ldAGA45rN5wP4RP79CYALarNM9Q2Dd2QjQyk9RCldLf8uA7AFQGvY9cgyDUFAtQawn/s7X95mo4YCmEEIWUUIubWuC1NPaU4pPST/PgygeV0Wph4zkRCyXjYB2uYrAISQXAD9ASyDXY8s0xAElI01RlBKB0AyhU4ghJxa1wWqz1BpfoY9R0PP2wA6AugH4BCAF+u0NPUAQkgagB8A3E0pLeX32fXInIYgoA4AaMP9nSNvs+GglB6Q/z8C4CdIplEbNQWEkJYAIP9/pI7LU++glBZQSoOU0hCA99HA6xEhxA1JOH1BKf1R3mzXI4s0BAG1AkBnQkh7QkgCgMsB/FrHZapXEEJSCSHp7DeAMwFsND+rQfIrgOvk39cB+KUOy1IvYR2vzIVowPWIEEIAfABgC6X0JW6XXY8s0iAyScihrq8AcAL4kFI6uW5LVL8ghHSApDUB0hphXzb0d0QI+QrAKEjLIxQAeBTAzwC+BdAW0vIvl1JKG2yQgME7GgXJvEcB5AG4jfO3NCgIISMALASwAUBI3vwAJD+UXY8s0CAElI2NjY3NiUdDMPHZ2NjY2JyA2ALKxsbGxqZeYgsoGxsbG5t6iS2gbGxsbGzqJbaAsrGxsbGpl9gCysbGxsamXmILKBsbGxubeoktoGxsbGxs6iW2gLKxsbGxqZfYAsrGxsbGpl5iCygbGxsbm3qJq64LYIUmTZrQ3Nzcui6GjY2NjU0NsGrVqmOU0qba7SeEgMrNzcXKlSvruhg2NjY2NjUAIWSvaLtt4rOpFmv3F+P39Qfruhg2NjZ/Q04IDcqmdij3BpCWGF2VuODNRQCAc/q0qoki2djYNGBsDcoGALB0dyF6PTodC7YfNTym3BvA+vxiy9fcfLAUHy/aE4fS1Qxr9hWh96PTcaTUU9dF+Vvy85oDOFrmreti2JzA2BqUBfYWViC/qArDOzWp66LUGKv2FgGQBNWpXXS+SgDA//2wHlPXH8Kah89Ao9SEiNc8+7WFAIDrh7evVtlembUdZ/Rojp6tMqt1HS0f/LUHZd4AluwuxPn9Wkd1LqUUL8/agbN7t0C3FhlxLdffgcJyL+7+Zi365mTil4kj6ro4f3v8fj/y8/Ph8dTvwVZSUhJycnLgdrstHW8LKAuMfmEeQhTY88zZGPTULPz7jC64emi7qK5R5QvipZnb8K8xXaI2o8XKY79uQrOMRNw5qlPEYwmR/g+arLC88UAJACCvsAL9n5yJVy7rF49imhIKUbwyawdembUDeVPGx/XaDvmhY1lUutwbwGuzd+CLpXux6uEz4louAKjwBpDocsDlrH9Gjv/7fj0A4NmL+xgeEwxJL/VAcf3uMP8u5OfnIz09Hbm5uSCsMdczKKUoLCxEfn4+2re3Nmitf7W/Bjle4UPesYqoz5PbGnzBEAorfHjo542mx+8rrMSDP21AlS+obPvgr914f+EefLFUGKximY8X7cFtnxlHNIZCFHvkZ/x4cR6e+3MbCko9WLe/WHj8rM0FePy3TZY6a6d8TH5RFQDgnfm7LJWZdVaxYCYwq4vTIT2PWflu+Gg57vpqjW47+7YhSpFfVIkVecfjWraej07HfbIgqCkopXhpxjYcLK6K6rxvVu7HNyv3mx+k9JE19/1swng8HmRnZ9db4QQAhBBkZ2dHpeU1KAF15ssLMOqFeTGfzwscM96cuxNfLNun6rSq/NK5vkAo5vsDwGO/bcb0TQWG+3/fcAijX5iHRTuPKdvOfHkBzpeDGbTc/OlKfLQoD3JfDWoiEBzyQewI/tCiCh8W7zqmPwmAPxj9M+85VoGnp21RCY8bP16Bz5bkRTx3Zd5xS8KTCWVeCL40YxuW7S5U/p677Sh+W3cQh0qqVP43dk6IAiOfn4dL3lmCjxbtQe6kqSj1+CPe2wxvQKorP645UK3rRGLHkXK8Nmcn7vh8VdyvzV5pDY4vhEyeuhm9H51euzetJ9Rn4cSItowNSkAdK6+ew7bcG7B03GHZ6c53fE5BZ1gTLJGFRF5hWFMsqYrcYbLO2kzZYc8Qkg/in2XSj+tx5fvLcKhEPxo301DemrdTJRAYt3+2Cu8t2I2dR8qVbXO2HsHDv2xS/v5t3UFsOVSqO/fid5Zgyh9bEQpRpbMX4XKonwcAXpuzE5e9t1R37KnPzcV5b4SFPDslGKLK830ua8cFJdUza3n81RvEWIVpkKUea/U6GgIhJsApthwqRdeH/hDWjXjz/kLJr1hd8osqYxpY2cSXBiWgqovVjkOkjTDtoxrWLksQE0ETsnBzkfxcsP0orvrfUsVPxTp9/nobD0iCokzQ2QWCxvd97s9tQoHgD0nv2ky43fXVGox7daHh/il/bkXXh/5UtNZj5V6ViZd9kyNlXox4do6hGRQA/PIz5BdVInfSVKzdVyxvD9cJJuSX7TmO3ElTY+6QzbRYq2w8UILjFT7TY5iAjmdH/NmSPOROmooKWUiEKPDZ0r3wBkKYteUI1uwrwuJdx1BQ6sGEL1ZHPWis8Abg8VuzZMRKhTeAEc/OxQM/bqjR+1jhWLlX8f3WJMWVPqzPL7bUR5gxefJk9OzZE3369EG/fv2wbNmyal0vLgKKEJJHCNlACFlLCFkpb2tMCJlJCNkh/99I3k4IIa8RQnYSQtYTQgbEowzRsPFACW75dCU8/iBKPX74gyEs3V2IVXvN/Qhmo3EeRRsJSX6aRTuPcdsoKryBuHRC4ntL/4uuHzCpfOzwEHfeop3H8M2Kfbjzi9VYtLNQ6RiYoOY1qCA3YtbfN/YOsDoa51fL9wEIm2ZHPDtHZeJl8QdLdhUiv6gKb8zdGfGaMzdL5tXvVkk+GF6AMgH+5TLpvvO3GYfsmxGPQcw5r/+Fc1//q8bvo+X9hdK0ggOyn5JSqmjelFJc+NZiXPn+Mvyx4RCmbjiETxfnRXX9no9Ox9hXFsS1zFrYgOqPjYcNjymp9FfbImOFaz9YjnNe/6vagiMSBaXSs/iqMVhZsmQJfv/9d6xevRrr16/HrFmz0KZNm2qVK54a1GhKaT9K6SD570kAZlNKOwOYLf8NAOMAdJb/3Qrg7TiWwRL3frcOMzcXYNfRcvR5bAYmfrkal7+3FP94e4npeV6L/qOwFkMx5Y+tuOp/yxRzytbDpej56HT8svYgbv5kBXYeKTO8zuwtBRjz0nz4gyGdJhHgKtLuo+WKQNKa4XjMtBGR8Lrqf8vwfz9sUDpe9lxMUPPXY4JEdA8zwWgEs1SLrnfu63/hjTk7Il5D0RBkAanVgNm7IgKh/vXyfVi8U+xT4zF7Nj+3b8H2o9iQb20kHE1QyR8bDmFfYaVw34EIwQ9B+b3Ec6zkckovkw1mKMKDJr5OVsiDBp+Jdm1EnsHz8mjf4d1fr8E3K/ZZuj4bZJn5i09/aT4GPTXL0vWskDtpKu75dp1u+2bZhO0XDPK+XLYPU9cfisv9RW0gWg4dOoQmTZogMTERANCkSRO0alW9Cfw1Ge98PoBR8u9PAMwD8H/y9k+p9CaWEkKyCCEtKaXxedMWYJ0KG1mbBR3weLkOLu9YBRqlJiAzWR/PrzRIym+TNm46KFW4p6dtwZEyL0qq/PjkxsFISdB/ikk/bsDRMi+2F5Rh/Gt/4ckLein7PIEQSsu8OFTiwT/eXownz++Ja04Oh5iK2v0fGw/hh9X5+OLmobp9TOCJNCCHxrHJ3gPf4bDTKrxB3Pf9Otx7ZldlXywmJPYconM3HCjBhijMHkb3Zya+8HG8T01s3mEDDZHZUqtF8u/n2g+XA4BpqPzKvOO4+J0l+GXCcMNjeDz+IO74YjV6t87E/qJK3Di8Pf55emdL5wKxDRxEUErx8eI8nNWzBRJktdQjD2IohbBOupT3GPuI/bFfNyEj2Y3/nNFFt88XCCE5wan8/fPag/h57UFcdlLbiNdVBlsmnXUs2tPU9YfgdABje7UU7v9hdT5evLSvuEyCb/XAT1IdHd9nPEKUIkQpHITg8d82YfNBvW9WC/v+LgdBlT+IUIgiOcGpa+8A0KNVBh49t6fp9c4880w88cQT6NKlC8aMGYPLLrsMI0eOjFgOM+KlQVEAMwghqwght8rbmnNC5zCA5vLv1gD4GNV8eZsKQsithJCVhJCVR4/GZioxgn3sSDZ6baXgTXyjXpiHGz9eITxPiQ7jzmfmJLbPLW9YkVeEHo9Mx6zNeiHplhtxgRx0wZtDvl6+D8OmzMFv66Q8eKtln4iDM6do+c+367BoZ6GwU2CduKhNsn6cPY9PEWbhY9j95m8/gm9X5uPx3zcr+9h5B4ur8JFBZolth8uE4c5WtNZej07Ho79sxL+/WYtn/9yqbFemBxhcw6URUFYiLNn7EZlC+MAJ/n+rfCi/G6sh66wMGw6UoLjSj5dmbpfLaH5fSik2HiipVvg/z/7jVXj8t82Y+OVqRYOq8rH6RBWhHlK1B1lAVaMMHy/Ow2uzd0iTpmdux6aD4UGLmamq3Bsw9euEYvx+kZjw5Wrc/vnqmM41N89THCz2IP+4vv1QiAedAOD1B+GNoz8vLS0Nq1atwnvvvYemTZvisssuw8cff1yta8ZLgxpBKT1ACGkGYCYhZCu/k1JKCSFRfW1K6XsA3gOAQYMGxbWmKCq8SSVetrsQl723FN/ffrKyTdtZsuwLWtgAhPe9ODTmJC0LdhzFmB7NVducTnaOvjEv3iVFvu06Wq7aF9beTExPQYqnp21G3zaZ4W3y+VQwb4VoBC57D/wIU2sW4bXNfccrMWfrEXy3Mh+bD5VibK8WaJmZrLrHWbJfgWkY7DV5LQSmlHsD+GSJ8fwyIyHHNCj2TazY39k7MBv5h0PQY6u2Vk8TmXFPf3GeYeaOwyUeePxBrD9Qgn9+tQa3jewg38/4hiOenYPuLTNw12mdcKzci9O6heuoxx9EmSegaEulnnAux0pfOFhGVCfZAC0eQqCo0o9XZ+/Ab1zSYrPBxp1frMaC7Uex9cmx2H+8EkluJ9o0TlH2V8fvyd5xbpPUmK8hImhiCmVTWIqrfGiLFJWms/NIOSp9AfRunakL8WbTJvrkZCnHdWyahlRNIgGvP4hDJR4EgqGIE8edTidGjRqFUaNGoXfv3vjkk09w/fXXR/GkauIioCilB+T/jxBCfgIwGEABM90RQloCOCIffgAA7znLkbfVGqxRiEw/u4+W47Ole5Euf6S5244o+6z6oByKeUpfqYwmh4oaqsshVQbW2FQOefl/1uiZPyF8fePy+QIhZbTOCJhoUCFNh8vKozLxsf8VLSJcgGs+kMxbzPzDzGNmjt9ohIYRkXwJTo3gtWKKZNcUjWjD3yK2EbiTfW+Lzywqw66jFXjYYCL50GdmAwD+e5ZkfmVRi2alzC+qQn5RlRIcwpsor/1wOZbvOY6Z/z5VKk8wBLc8qKpUJjKLpzDwGtSKvONIcDrQq3WmzjRnBfbdjnF5/8wCc9bskwaWHn8QZ7ysHhgB1ROa7B3HO+uJqa/TRHixgUKIC1YRwfaIrlRY4UOpx4+SKhey0xINr7Ft2zY4HA507iyZmdeuXYt27doZHm+Fapv4CCGphJB09hvAmQA2AvgVwHXyYdcB+EX+/SuAa+VovqEASmrT/wRwpipBx/XMH1vx0aI87JQ1E/4Yq+owqweiEGT2v7YTEtU/1oiZr0wUMcbaIdvHB2gYIeoAWSUPUeC8N/7Cfd+HHbZs9MYaCTtfpUFpgzgED8S0M7bPbKRKoHa2xwIrk1Hj1vqTojLxCY5VhFfQ+Pnu/3ED3jSIFmQmR7Ny9H50Ol6bLQWIxBrZ5VYCGaoXJLF8j2SKZM/pD1JlUMVG9SFKuSkW4Ru5lIFUCJe8swTnv7kI93y7Ft0f+TPqcrDr8s9hNrUh0SWV0WjAGU3QaSRz6hkvzce93+mDHyilyJ00Fa/PjhzsA5gLTbN9rB1FrComQRJU878R5eXluO6669CjRw/06dMHmzdvxmOPPRbhLHPioUE1B/CT3DG6AHxJKf2TELICwLeEkJsA7AVwqXz8NABnA9gJoBLADXEoQ1RoTVU8Wucn35eLjn9m2hZcMbgtcpukwh8MobTKrwghXqApue7YvTUdr6izYY2YjUbVlUfd6Fk5rWSEEAuo8Lb1+SVYz0WcKZMuNYJdFCTBtgSCFA6ibhhSY6FRaRjVybzBOs73F+xWBVUEQ5JfRNF0NYLXDDMNShuq7w9QPPTzBlw/LFc5hoW+D+3QGGmJbnRtka7sYwLTrBxl3gBemrkd/zy9c8z+G6ap8fW51OOH2+GIWnsBwoLOHwzpovgkx710XCQf1M9rJRMdpRQhChRV+tDEZMTOEE1xMHuHiS7pGY0yw0Rj4vMHKRJcxprJjiPl2HGkHC9c0ldY5hdnbsddFgJbzDTCCs3EZKkPAtKS3CBEqpeRBKmZBsW0GHaNglIPMpLcuroycOBALF682PQ+0VJtDYpSuptS2lf+15NSOlneXkgpPZ1S2plSOoZSelzeTimlEyilHSmlvSmltb5UrpnpR/EVcQKANSaRgHp3wW7c9IkULPHC9G0Y+NQspXGKjmemNK1abtYolLBu7phwWKh8vlyBrWSE8Ad4zU76P/wu9CcGNRqPIqC4Q8PaQ9gcqYsG0ghpszbjMHnnVmHlm7rhEPYdD4cma0157HmsCEPWoYrMgeFvIf3Yd7wSny/dh5s/0Vfxf7y9RPG7MZSweEE58osqlWAZhhUBTynVDX6cGg2fgqLPYzNwxsvzlWPemrdTmKVD1NGx+h4IUcW3pMyV4+qBKKrVKBrymWlbMOipWZbSRilWBK5sZhpUgkut5YnuL2L30XLkTpqKpVzmk1hN0GbtfebmAlz67hKVn9PsW2szxeQVVmC3PCE97AqwVi5WLH8wpNQbvq+hlKKg1KNYmGqaBpnNnH1skflICeziOlOngyAYMk6bU1IljWB+knOnsUbFd66sgmjNZIwyjx9/bjyEs3q2UMx04XlHrLGHj1fmCdGwNvjtyv2KGc2s8+fv7XI44AuGlMYqOo+N3oIaUxjfaNhPVlZ/KKQLCKEaAWfWSJkv1urkaBFGJrCAIiBZeaR7WPFBsecz6wC10Y5WNR2RBrUi7zhaZCThlOfmGt7HjHPf+AtVviBm3zMqfB+n2rfJPgNLAhwKUTz35zY89+c23fVE/g5Wd3gflNcf9kGJzM7+oL4O8ff4VY5OrfAGkJFkvjRDOKyfv4bxt2S+UCMBZWQeZ4FJP60Ou8z9gRCOeD3YeaQcw6JYjkfVdjTvYOKXq+ENhHC0nPepGX9rsxRsRFahImpQmujfLYdKkZLgQqdmaarsNIq5r5aSLDZoAWWmQbEPEAhRuBwEPhhHlLEKbebT4K8nYvqmAkzfVIAvbx6iVHRtJBsVaFDsHot3FWLxrkI0TZdMImadP18uhwNA0NwfoYRPa6If+XswwcgLL6lih4/Rdtyizmnq+kPo0jxNcehaieIzwugdBDTl90ahQbFjxBqUWtOskh3UVvNjilIPXfKO8eRxK6YoloKKhxWH3Yf/DC/O2Cac28cQaQwezkfq0syDAqDKJMFQBL3AdOULhpS25PGH8PGiPfhg0R4svO80YZn4vH8MMwGV6Haoyq3FSPCzMvOmLV8whIveWowDxVW6QAunw/jDiya5M1h94SeWmw1GKn0BUIiFkOKrZiZ4SnXRfJRSlYmPXYcFWIT30WpP6o5WsDVIAaUd7fNo5zCFQuYmPiDc4SlmC4GGZiU8GQCOV+rnZglNfCCqfYxCedQVNLFZ8yNHyakdsqSpaAU7P/JT3inTGoJh34P2GNH5jAlfSvNE+rXJko6tRhSfUVvgA0L48lRXQGnnQXmV57RWXta5WzVrxhptptVk+UHE63PM0z2JAoWYMAqEqDJ3j+9clXl0KgGlD/xh+IMhJZChwhvAY79tlq8Zvjff0bHtQZWAopix6TD65GShWbrajxVJgzJ6r0w75IWqLxBSMnbw55lFI4ZCVFUntPdjbZL3kZlp7OXeIAqK/cjOLgWlWap9inChUoq1XUfL0alpGlK4UHL+ypIZT3MDlTshdgnF1oNKSkqyfE6DFFBmQRJME2D9D9OgpOONTALS/7LvWanAIhNfpE5FFKnnEWRuYGifQTElmoaecqNbTaSgaB5U+NrGJjqd+U7kg5LxCzQwLaxTq44GZQT7PiGtBmXJxMfMWfqya7XIsK/O+DnX7S9GaqITnZqlc/WsZgWU2YTrSAg1KM7fpGhQXOcvSpTMvqvIoiAJKDmQgbsO72vhTY0i87QvEMKtn61C66xkzP/vKNX1Y/VBsdrMD2T496GK+A0EDQWUPxQSziFkKIEmAf0AV0SFN4DXlxXhLgApoUoUyKbaLWXJKCj1wB+kCB5PgD8YQklVABUFLmSluJXjnKVJKKrwocofgu+YG8lup5KRf0tZMko9fpRWBVCR6ERRklu1L1rYirpWaZgCihoLKDayCTdeKox64in3BnD/jxvCo+uA3sRnFv2lKhu3X4kGDITt+YyAkl9O3MjM5kZUCQQUn5omUtmYlsQfy37zphsjAWWmQWnLVR0flBEfL87DyC5NuTIzH1Tknpr3sWlhQosd41G0LePrsnW68qaMDz+zhdD6h37eoJvsbBVWnnD2EOsSSjRg4IMkXIoGpe9cQyoNytjM6wuEFCFS6QsqPuDiyrCA4gVDpcBUx/wyB4qrdAMhpp1ZjeLbdbQcHZqkhv3HXLvmNWm+rpoNMnwBdW5NvQYlv0NegzKziPiCKPWGMHlBIfLOHopxk6YCkOrUP1+ajx1HyvHmlQNQHvDj/37dgEsG5uD5S7orx616aAze/GUjpm04jMfO7YGzerXA+M/mKNd4acY2vDZnPy4emIP/G9sR4yfPUvbVNA1SQIUUDUpfQVnlVMwGBo1OCwsfBrjkpNz1I83JYfAj8/DyFvrGzLYZNTJf0LisqtEt0cyJMSmb1iSm3scab/i9GflerIzctQEi8eTd+bvx7vzduHlE+6jv4TMROtrrMEFjNRchu6KVZV0+X2ot8alybYFJTAmSiOI6ZhqUdB/9Nt5czvCaBKbwJr4qXwApCU6UeQIo5szffKRjpSBIgA+91vbtTPgZtWe+nKv3FeGit6Rcl+EJ3WpTXviZuN8m39AXCKmEtbZ8ilVDIORFeEwGcW5Oo2VaqUdTT33BkCq5gC4xdYj5VIMxZ0eJlQa5HpSZBqWdp8Q7O612ZKJ0P2bZvnn4kbnWpMCP7HyaUboWswbCV/yQQCBHwidoEFq/XqCaJj5nDQooBrt/NG3OzHeiHfCY+atEsI7RyPRUHUQmMfYI0Uz4FdUrYX0K6LfxgzPeLKjFF6BKIEOlL6j4jCq5+/CCsoIbpLEqx0e2aYMnEgTmQymfXRUoVXfQLLJx6Z7jyjvk66TPQCiZaf5aIaBtB2yyMy/kzQa2ZgMatysctMLeg3ZQ6wuEwpPEgyGdwGT3rvQF4pZg2CoNUkCx+iDSBNhIs4rXoJTQWWsdDavAXlUjja5sAJTWJlogkDVQI8e+WafIV1B2HD/ZMhJmvhq1D0p8TJkngHu/W4ftBcZLjURj7oqVWAaDIoHpdIRHnzxVUWpQwZC4A4kHfGes7dCi6XREHS//jZTBn0CDEpnDIvmgKn1BRQuo9HICivsOvLbEBkW8gApqTItKkIQvfI1dR8sxbMocvD1/l+p4FvQRDFIlwEnld4qziY8fEPPfLBCk8AVCSpZykUasJagJWhEFb7HyOLgIUq05kX23Cl/QNCdgTdAgBRRDKKDk/xUBpZqoa63jYA2Wr7xWR6mqUHL5fyVIQqBBGWEmRLQVny+zpblAJoKa16C04ayMBduP4vtV+Xh/wW7D68Rjom4kYjFXiJ7dSBAz34gV39Z9368LdyA14HfjOyXt9aPJ1iH6HuroOv02RUAFrPmg/EFeiAThljM18IKIr6flXn1iWn5l51BI3Zmzasm3g4PFkuN/+qYClQbB6mEgRDkflFhQqkx8mnesivALqk1l2nbtEggofyiE5/7cirNfW4i9hRWqAa+RgPIFQioTH2vrVf6gLuSf/RkIUlV5AsFQ+DxfsFqLj8ZCg/RBMUQCJ2zyCjvylflIFhsyM7tZVdF5+ON0S6xzl4gooEz2Vwmcr6zTsvKMZkLMigbFnnEPt/y6FlHEVLyJRUCJBL9DM9+LEY2p7tuV+cpvo/k51YH/5toOLRoNStQZ8vVcazIGOAHFdW5KFJ9AePuC6iAJ1smWcYKIr6e8gGJz73hh9sy0rarzmMDiM66zUuQdqxBmpAiEwppFFfe8/OBDpUFpBjJ8XfAFKBzc4g5BjWXEwVkPWICIPxDCWjm5b0GpVxUgYySgvIEgZ/0JqgKr1P7soErL5etDmSds1qvwBeK+BEkkGrQGZRbFxzqJQCgceB21D0ql8lvrdKRQUClayUwwRgqJNitrpcrEp3b8RjMXSHzfcFYBIw0qmnlHNRHFx4hlipWoPJGiFaOlJnxQ/DWrE7ovKpsoHJr3jfLJZJUyKCY+UZBE+LhKf0DRpso5rYjvlPntbFDEC6hvVu5XnceEKC/Y2DVKqvwaU3rY1B8OFgifZ+yDUj9XEbf2nC+oDpLQzp9S0o8Fw7/9QT5lFMWkH9dzz8QHqaivxX8P9l4DQao2e/pDqkn4fHmKKn2KaVPSoGpXQDVsDUrQUMOjJKa1hGdPR+sPMVL/zXh62lY8PW0rbh/ZMRzJJihnpM7P7H5mHaAlAWVRgzKaR18mp4Iyu5d2jlJNEEu6FtG3iHdkU00IKH5QUp3ri/xj/Db2KkSpfAJBfXsQfd9Ve4uUVEdlnoBiYi/3hsPM+U6ZFzQsuKbMIP1PlS+orOzLC7YyLuefSruQ77OjoBwLdxwDIK0azfALnkn6rTaj7easBf5gCGe/ukT1N//bwbV7pp37gyFlxOrxB/Ejl25JZQpUDQLUfqdwHlC1EGKr6bJ9/JihqNIX1qC8DUiDIoSMJYRsI4TsJIRMqosyCB2+nA8FkCprpHWFjK8vjvaxwjvzd4UnqwrKWT0Tn3HuLiuTVc18KvxihkaaBfMPiOYSMWpDQMXLxBfvyFsrYebRX9PYxBfrdZRtgvl+PKIEu6xTFQn817glKIorfUqnyAsiXmsrFwVJeMR1vKjSp3TGvJ/KKKiClfMwl6i3Sja9AVI705ripd8hlUl+X2FYQPkCIXUUoib4g8/XyednJILjAbE5lZ0T4gUUd11tRCWfgZ/XagvLwwKqSmMarA3qREARQpwA3gQwDkAPAFcQQnrUdjlEnY22wQQ4ARVtZ8lXnFg6WtGcEka1BJRJB1XdzA3qXHziY0rljsGsjOGQ3vpl4hMH1tRuo40FMx9UNIjqosdgBK89R2W6kzvZSAEhxyt8imD7dW14xVyvgYlPFGbOU1TpV9oz74MyCqoQCbpKXyCcFDcQVIQiv5y7xx9UvZeDJWEBp61D/BI/vHbj9YcUjZDXrD5dkqc6n2+zWj9fkPOp+3kNKsgLqKDSFvwa8yNv4vMHaY1o92bUlQY1GMBOeakOH4CvAZxf24UQdcai6Bv2zaPtLNUT96I7t3vLDNPAhUgCzzyKz8REV43cd0B4tBwIGSeWZNnezQZjHpMRdryIRfgJ/Zb1Xz6ZhpnHeh2GN4J2xkxzvAZVIQuHSMKyqMKvCLYKAzNlBb+8vEMf8ae+nlgj43/z2kW5wNrg8YeUuUpezmfEU1oVwPUfLVf+Psqt9qttY3ywkGSWk320wWA4/DsQXmtrmbxQpFIe3gcYVGtQ/MoN4d9qDaqK88tJ54Sv/X8/bFC96zIDzbSmqCsfVGsA+7m/8wEM4Q8ghNwK4FYAaNu2bY0UQhwyq97mD4YUW3K0DdsoZ5cV+LV4RCa5SNcz007MosTiNe+IUuOJuFbMncxnUl2BaeUe0SB6P7Vt9ogFlYCqhlYaKYpPtL9MoDEzARKpTRVV+pSwa55/f7NO+c1rOazKGfmgjlf4lM6YN5XxPqgKQfCEFj7fJluIk6ewwocVeUXK3yoBpan/+4vUa5WFp36EVHPsjLKj84uL8hqUUZBESZUf93Cr/PLCyx8M4XiFOmH1joLw2k+lXD7EQDCk5F6sKeptFB+l9D1K6SBK6aCmTZvWyD1EI2jRHBHW/5ituyK+fuw+KJ6KGDrSWE188RQIsS5JDoTT19SkBmU0yjajJn1iNYnKB1WNMPZIUXwi4ccE1Mq94Q5b60cxoqjSB1+EeWS8MGIdbWmVeKHD4kqf0p75789rBvwiiUZtnrWvTQdLhG2mSNPJmwmog3I2dLaP9xUxs54vGLI0oNImrA0q/jY/3pm/S9m3YPtR7riQSmjf/vkq1TUPcOXjBfl6bpXqmqKuBNQBAG24v3PkbbWKOJOE/phYo7REufNqC7NRcqVJkEQ8y1mdkFSW1qYmJq0q94iho67tMNt4oQ4wiP0bizQk3r8livITdfJWB0L+IMWxci9Oym1keAwvaMJTPMTXP17pVwQCbxosNxBWR0rDgoWHVYNpGw4L9xdqBZTGz8QzfVNBuHycCfKXtQfBNLPnp29DlS+IUzqbL4rIf58P/9qjXGvNvmLDcwrLfUqEIm+5eWh8d+U302L5d7OK0xBriroSUCsAdCaEtCeEJAC4HMCvNX1To/WJzJDmLFT/3jU54VSEWbocM00wnuWMVuPkYcKjJnNTmgnqvxv86rjVCZIQ1asjnHYgMtmZTci2Sp+cLMN9/EAjkuBbursQWw9LKbb4dl3Kdbz7jodNbku45d2joajSWIMyaxf5RVWqcPxj5eHrbDhQgoxkN87o0dzwfN7cN3fbUUuLWn64aI/ymxes/ErG2WkJANTa6u44fNdI1ImAopQGAEwEMB3AFgDfUko31fA9YxI0vkAopvkyWmoyGk18P+OGWmJg/oh0XrRUxzdTGwI9Fg3q70B1njvSuTUV5cUyS1QXXlDwrJOzNABMc4mOxqkJqr9X7TXWLnghcP2wXNW+ydO2qISllhS3E9cMbWe4/z/frlP9vfto7EIkIzkcopCdKi36+J6cnizB6cB+TpDXFHXmg6KUTqOUdqGUdqSUTq7p+8XaV8YrxXx98l3UxDybE5FYfFANnQKDDp6hdbDHC5eDGKbOskpGUnQxYWO6N7N87IoHx2BcrxaWjn17XtgX1L1lelRlcrscGNHJ3MwXL3gNqlWWeu2x3CYp+GvnMZzy3Bys2Vdzpr56GyQRbw6VVEU+SEBFnFLM7y20PtoY0DYLr1/RP+JxzTMSIx5jY0xD1aCqA69pAIjoE6kujVKkTrLME4hai+rQNFX1d5N0cXtp0zjc+fZslaH8HtnVmoDKaZSs5MwDgCsGt1Htv2KwcRRy49To2jClUij9naM6mh734iV9ld+ndbMuaHkyksMCSjs4yM2W3u3+47H1q1ZpEAJq2e5CjHh2bkznhmgdxP47HTi1c+TIRaNMDfUJbacyprux/by2qa2Ah6wUd+SDapBz+7ZSfmdrTFFWMBMMSW7xsubx4oGzJUd9caVPSRprFa15y+jZ7x8XDgZ4aLyUL8BBgJwsaysWs/c7WhYEFw9UC6im6YmGdaBxqnj7Bf3C30ytmUl11ijkXLluWvhZm6Unqla/zZsyHikGy9HzJLnD7/uSQepnumhAa+V3u2z1QCCeNAgB1bdNVq3dK1LFsYLbSZCe5MI/BuTghzuGGR53iJudbpVGtdxZahsCX+m3PDEWW58cG5f7RGu+qU3YpM66gv/msbQFs86Mn6Nkpk11bpam/B7QNlwGlpHBCKb1HC33Kqvs/vO0ToqmYyY87xjVEQvvG608s1G4Ou8fbiJ37CEKDMpthEsG5qii2UQMzm0MALj8pDZY98iZGNhOE3FIqZLw9vRuzXBWz/AgjRfw94/rpvzms24ku52YfGEvdikA4RWn+QHflUPCmlpaonl7YP3U5SepBc/TF/ZWfvMDgjN6NFdplz1bZWL63afij3+dovO/xZMGIaCS3E50aZ4W+cA4cD43Wo0Vl8MBh4PgxUv7qip7HGQfbhsZNg2YVawOTeIzKiquVAdk8AI8OcGpdDoiPrhukOX7sFVSaxvWERh1lBNHdxJONK1NRnVtinS5nLEUJUnwbpn5zMFdkDcraeHr2pAO2crvxAjfbUj7xujdOhP3ntlV6eS7tEhHJ1ng8R3x2b3VPqDrTs5Fm8YpyJRNVcM7ZkOExx/CkPaNdeVMT3Lj+Uv6oqmBadDpIOjfNkvRnAghyJQHA6d2CVtAKMKd/Z2jO+LdawaprsEYLJcBkELRX5Dfpy8YUoKGWD1jKZB4H9aNw3OV341TE5TnZkFR6dwgjtXJ8zT9FS/ktBrrZzeFcyk4HQRdW6Sje8sM1CQNQkABQHu5w43FxAEA3VqkI9mCOaN5ZlJM1+cxGlWa2bKN0Fag3q0zld9mpifWcPpzo914oO3stEty9MkJl+/0KMyBTNAN0o5e48gAwbtoJvsBjbSMxqkJcdGqq0Pj1EQ8fK5kujJaAsWMZMGzNUrRt6NEk/aRzjnc+XakFezXD8vFA2eHNYmUBBd+u2sE+rdtpBzrIERJnMpfS6s1NJMFC3v9J+U2xpYnwho70wgCwRC+vGUodkwehyz5uXiNPMHAtHjpoBz8dOdw4T5tpB2rn05Zm2ZarZMQRZA4HUTxPfuDIcXa4A+GlLbKzGmsSHwAF2/yb5mZhGcukrQhFrjy4x3DMPfeUapyOB0E6x45U/gMbqcD5/RpiX+e3hmAWnjX1qCrwQgo5ow0Gg3xGL17K9+EN6ec3EE8YouEUYcWrQ0+wenA61f0w+iu4dFcepILu58+G9ufGofUBHWD7ssJhyZpifLx1TMJip7l+Yv74Mubh+i2f3TDSfj61qEx3Yd1XvEKRxYhMo+xAQ/rgPj+/9XL++Hak9spOdTqirREl9Khx9KviLRcdh0+W4iZNnzxwLDPgjfzagdjLTKTcOup4gAAVv8dJNwZN+F8LWmJUl0d2K4R/m9sN0W749dR4oXty5f1Q/OMRJzVswWcDgK30wGng+ClS/vi5wlhwXNWzxZ4/uI+yt+Pn9cTgHlW/zN6NMd/zugCQDLLsbKzjp2d6XAQ5b05CFECEwIhqpiGKQXO79sab1zZXwlLZwMNftoXb0pOdjuVNsysGJ2bpysDdVYOp4MIByCA1H+8ceUA5Tl4amvQ1WAEFKsEfGSKEf8YkKP8/uTGwVHdhw/hfuHSvvht4oiozgdgmN+KVaqL+rcW7tfidhJ0apaOj24IP0NKggsOB0GCy6FUzKuHtsUF/VrhmYvCjfCak9vhX6d3xlVD1Fpbu+yUqJ5FO9Lec6wClwxqg2GCUNm+OVlIkYWmlYEEDxvl1oSAYiNzUUBAqryPmarSOKF/fr/WcMmdXjx45JweePPKAVGfl5XiVjrpWAJr2Du9dFC4XbDOMBBBQHVrIZmgTu7QROlc+TKw67C6za7x84ThWPDf0aprhTt5h7I2UiN+VC8LuyHtG+MOLspNEaYaedKleTqWPTAGzTLUVo+LBuSgQ9OwS8DhILhkUBt8fetQzLlnpNJuAhEmBbOnpKDKO2QaD1N8nISEzXYOomiEzbkyUbkM5/RppdQl9r9Kg3KEn5UQokyuFc17ZJ8gweUwtNi4XcZ1pbYEVP31LMeZRHnUxjqZge0aGU6m41XZpmnhjjItyYUKXxCf3TQYheU+3P3NWt25PVtl4B8DctCpWRpaZyWjdVYyHCS6eVjHDOaaMMHVsZk1f5pb0GHwZhDWqfdunYnLTpIE0YhOTfDXzmNIS3Th32d0wZJd6pn0Y7o3R+PUBKzeW4TCCp+yDLWWqf8cgU8W5+H8fq1x1f+WoVGKG0WVfuEA4dl/9MZ7C3Yr2ud71wxEm8bRCULWyBM5TSpek30zk90o9waEJl6mhTKtICXRqUtU6oxTtOUZPZqjTeMUTPgyuvOykt1gg2uHoGPp0CTVNCsAEwyD22fD7XTgi2X7FGHAT8YWmQ/fuHIAPP4gMlPcSkfICzVWrg5NU7G9oFxpJ/0E2qrSOTuJIuQGt2+MedukvHJEc5y2XNWdzzhUtohskHPQ+SM0an7vxQNzpEwQGouEk9OgCAFOym2EyRf2woX9W2PBdin9kKjYXWXB34Mz4TsdBLPvGaWkUmoiW4344AalbPI1k9xOQ7OvmcXGFlBxhnXGZglMUxOcqPAFFUcnEDZBZCS78dZVA7BkdyFOkUPAmYDq2jwdD53THbnZqWjTOEXnO7lySFt8vnQfAGBYx2w0S0/Ez5rZ6jP/fSoe/20z/tp5TNdZzLt3FA6XepQEj4EIyTO1z8yTJXg2viKO690Cf+08pozgtL4Vp4NgwuhOAICSSj82HizBVf9bBgB48oJeeHvuTnx+8xB0aJqG5y7uq8w/u2RQG5zSuQl6tcqElstOaqsISAA4s2fY2X1Bv1a6dyWCNXImxIe0b4ymaYkoqvRh7rajZqfq0A4okpTBjf59stE006AkgaUeYJg15nbZKZbnyEVr4v15wnAs2VUIl9OhdOiikvx45zD4AiEMfnq2wX3ZqD088mYaT6RsIdmpCYqWw0xwWar5NdJ1hnVsgu0F5aZZW5hwdTnCPijep3zhgNb4aFEeLtBYGBRNJk55s1i7CkZoh2yAlOhy4qohbTGmR3O01oSuOx2E+zYEhBBcNUTyX5mNa0Z3bYZZ/xmJjk1TlX7I6SCKCQ8AMlPc+Pa2k00nA4sCYBhmfqbaikxtMAKKwRaX4ysrIdKIIjlB0pBKq8Ij4E7N0vDQ+O44r18rNEtPUqn+943tCrfDgVtO7WB6z8fO7akIqC9vGYoyj1/X6XZunq6o4szGzchtkorcJqlokpaITxbn4YL+rfDyrO0Rn/UfA8Mmmd6tM7HhQInKTMU6c77ju3RQGwzObYzOzaVKrbVP85U2M8WN4Z2aYHzvlsgrrMA1Q9vpnMMtM5Px9a1D0aNVhm70aIWXL+uHFy7pi04P/mF6nDa6KdHlxEuX9cODP20QHv/wOT3w5O+bhfvcTocq8wcTPqJGyQS4Wbi0kQ9q4+NnweUg6PbwnxjTvRlmbTlieA2z6xjRr02WookoJiXu+10/LBd5hRVKYMCyB04HAAzRCCq+fmhNhZG0Et6cd9vIDkhNdOLigTmY9OMG1f7LB7dB79aZOKdvS8NrscfnO3VePnZsmobtk8cZliFe095YuwmYrAgNAKO7NcUbc3didNdmcDkdOuEESM/Sr00WdhwpV0XZAUCbRpIVYZBBotxOGkuKSFPnIwN5WD/I6tRVQ9oqkYfvXD0AXy7fbxpQY2tQcYZFygzOzcainYW4c1Qn3PzpSgDShw1QiknjuuHe79ahBZehgRCCm08RC6A7R3WydG+tT8lojsLwTk2w4UCJas4IT6dmadj0hHre0Pe3nwyng+BomRdN0hNx0VuLAUipV3gH8le3DlWlygfCFZoXOm6nQxFO7G+eVEHZ37jSPOvF0BiDRQDp/VvpmFk5+7bJwq/rDir+DqOG1LGpcRi9y0FUOlCCop3pr8UEOOv7RMk5nRrBdvlJbbDpYKlSD1Y8OAYZyS50fehPwzIBgLsao1YmSPgneEwzEGqeIY5AZdppKMRrqmIBdc8ZXdCzdQZu/FhqW/wNk9xOXVtin8dJiGpAJYIJGichijbFa3BGplT22uKRsgwItxezIAkAGNiusWqCLA8bIDsIwZMX9MLVQ9vp0gn1aJWBOfeMVLI2RC6X9frRvkkqCkq9St2ezM1/GturJcb2Mh4oSPeyBVRcuVoe2V83LBf/GtNZte/Mns0xbcNhnNOnJXKzU9C/bSN0aJpWY6MENjJp0zgZr18xQAkIuHtMZ4zp3kwlIIx4/Yr+SHQ5MChXP0JqkpagCzJIS3TpBGO44Rrfp4Wm0xKZSWIJXY43rKFlJbtVnYJRJ2JmLtMGEphFpzETCXstwRDFxNGdkMvPI9O8s/+c0UXlmOe/Vc9WGdh0sBQimFB46oJe6NAkFVfKplUrMC3QSpCQFt7Bf8upHVDuDeCMHs0xfVOBzsR31+nqtmXUhJ44vyfKPAHM3XoEQIUl7YYJpRANh1lTSvHq5f3wv4V7hP41IFw/2Wf4+tahQm3GKi7Flxa7j3Noh2zM2FyARLcDSW6n4QRq3mITiWjGL+9cPRAr8oqUSL9oMXrX8aZaAooQ8hiAWwAwI/8DlNJp8r77AdwEIAjgn5TS6fL2sQBeBeAE8D9K6ZTqlMEqotEb4/mL++K/Z3VDktupdPj8RLuaYNGk05CV7FZpJPz9I3GuwYTgFQ+OUQJCIsEs+WYjy+QEJ/KmjMcTv23Gh4v2IL+oZnNvxYo2fJdxx8iO2HKoFAWlHhwq8SjBE6aDaU3bY/N7RL4/PgILkATUvWd1VR1zapemWJdfgowkF0o9AcPQ/TUPn4HkBCe6PazWpDo3S8OOI+WKoLzaJJs1AFw2qA3yCtV+zLG9WuC+sV1x3cm5+HTJXtPztTBhTinQLD0Jz1zUB8vkZSgi9dFGUYPXnpwLABjZpSm+WLbXVKNlODmzIrtuMERxfr/WOL+fcWSr1hxZHY0eCGsqkTQoM568oBcuHdQmJrO3EdEMqLNSEkyX7agvxEODeplS+gK/gRDSA9IaTz0BtAIwixDCgunfBHAGpGXeVxBCfqWUip0BNUyrzCQcLPEgNdGF9hFSg1SX3yaOUI24qjOCMyOa8Ox+bbIwdcMhtG4UuSwPje+OHq0ycH6/6mfKiIVbT+2AH1bl6xaCYxh1hG2zU/DzhOEY/9pCHCrxINHpiLgIpWJKkhOAuk0CApjD3EmMj7l7TBdcM7Qd/CGKFXuOG847aWQwifz9awfBF8Xy2s9yc3YYTgexbJLWwjpk/p0pAjmC2SySct2rdaZqeoMZvKlOEVAWZMSoLk3x27qD6NwsuszhhuUQzAGLluYZSWjeo/qT+gHgrtM64fU5Ow0nFMeTc/u2wm/rol+OJFZqqlc+H8DXlFIvgD2EkJ0A2GScnZTS3QBACPlaPrZOBNTPE4Zje0F5rdyrNzcJtr5w8yntcUqXJujWInK6EoeD4OIIPoKa5IGzu+OBs7uj92PThcl7mWBOSxR3/qyjdDrFmhYghTrvPlqhHOsgkvrvVpzixhoUO0ck+JwOopj0Wlucw8bTOC3BdKR94/D28AdD+GxpdJqRVdzOsGmNwd73KZ2b4JFzeuhWiWXEM6ExrzUp84AsCIl/DMzBmO7NVdG58aAeWLYBAP86vTNuGtHe8gCmOrx+RX+8dnm/Gr8PIx4CaiIh5FoAKwHcQyktAtAawFLumHx5GwDs12zXpxQAQAi5FcCtANC2bfQpfqzQLCNJN0mvIUEIsSSc6hOz/zMSB0s8uODNRart/ze2Gzo0TcWZPcRr8iidW1AfLMD4beIIVPqCOOuVBQCAC/q1xner8tFCTl8lmpgZzm6gn+MTL4wc0kPaN8bhUg8ekdMYeQPBuE5UdjkIAiEqnEfULjsV8+4dhXbZKaY+yHgKKH5yqsNkQCAi3sKpPuFyOpRIzNqgNn3OEQUUIWQWAFGrfxDA2wCehDQgfRLAiwBujEfBKKXvAXgPAAYNGlQ76yLY1HuMBhXJCU7FryGCNarMFDfKvAFkJLtx5ZC26JuTieJKP0qq/EhNdCGVSwv037O64pFze+B/C6UlsUUTM5X8cLJcqM4qwkYYRWd9c9vJqr+fu9g4WWsszLlnFPIKKzBtwyEAeo0h1ySh8IfXD8Kvaw/GVWBePywX87YdRa9WmVi25ziAyCbGmqCbPDn2ztGxmUxtrBNRQFFKx1i5ECHkfQC/y38eAMDncc+Rt8Fku41N1Lx55QDM3WY+fwgI+w2euqAXDpd40DcnU5itAOA6YiLlIlTmpwg6Q2b+UhzxcRBQE0Z3xMeL8lAhL6hYk/kFzWibnYK22SlwOgi+XrE/qpVcT+vWHKd1i68TflTXZkqEplMTmVebZGoiRW1qjmrVfEIIHyx/IYCN8u9fAVxOCEkkhLQH0BnAcgArAHQmhLQnhCRACqT4tTplsGmYsBxv4/u0VJYlMIPNi+qTk4XLB7c1NVM8fE4PJLudyEqWzCYXDcjBRf1b44bh7XXHMrOTkrwzDj3mf8/qhk1PjMWFMfiraoLhnZogb8r4Gl2YLlpuH9UR/xiQg2tPNo9otDmxqa4P6jlCSD9IJr48ALcBAKV0EyHkW0jBDwEAEyilQQAghEwEMB1SmPmHlNJN1SyDTQPk+zuGCZNgGhEpFNns2MapCXjpsn6qY7o0T5NT80h/85NZ48WLl/RVZdGOF7PvGamsD3WikpHkxouXxtekaVP/qFYtpZReY7JvMoDJgu3TAEyrzn1tbEQTj2uTH+4YhnJvAOv2S4lDm6YnYlyvFkoetXjgcBA4hOEc1aNjhMmfLTKSdFlHbGzqAhKvBIo1yaBBg+jKlSvruhg2Nigs94IQomS8D4Yo3p63E9cNy6322ln1BV8gBAoacbVbG5t4QQhZRSnVLaF9Yuv5Nja1TLYmNYzTQTDxtM4GR5+Y1FVQho2NFrsm2tjY2NjUS04IEx8h5CiAeEyTbwLgWByu83fFfj/m2O8nMvY7Msd+P2LaUUp1CVBPCAEVLwghK0V2ThsJ+/2YY7+fyNjvyBz7/USHbeKzsbGxsamX2ALKxsbGxqZe0tAE1Ht1XYB6jv1+zLHfT2Tsd2SO/X6ioEH5oGxsbGxsThwamgZlY2NjY3OCYAsoGxsbG5t6SYMQUISQsYSQbYSQnYSQSXVdnvoIISSPELKBELKWENLg80oRQj4khBwhhGzktjUmhMwkhOyQ/29Ul2Wsawze0WOEkANyPVpLCDm7LstYlxBC2hBC5hJCNhNCNhFC/iVvt+uRRf72AooQ4gTwJoBxAHoAuIIQ0qNuS1VvGU0p7WfP0wAAfAxgrGbbJACzKaWdAcyW/27IfAz9OwKAl+V61E9ODt1QCUBaZbwHgKEAJsh9j12PLPK3F1AABgPYSSndTSn1AfgawPl1XCabeg6ldAGA45rN5wP4RP79CYALarNM9Q2Dd2QjQyk9RCldLf8uA7AFQGvY9cgyDUFAtQawn/s7X95mo4YCmEEIWUUIubWuC1NPaU4pPST/PgwgvkvG/n2YSAhZL5sAbfMVAEJILoD+AJbBrkeWaQgCysYaIyilAyCZQicQQk6t6wLVZ6g0P8Oeo6HnbQAdAfQDcAjAi3VamnoAISQNwA8A7qaUlvL77HpkTkMQUAcAtOH+zpG32XBQSg/I/x8B8BMk06iNmgJCSEsAkP8/UsflqXdQSgsopUFKaQjA+2jg9YgQ4oYknL6glP4ob7brkUUagoBaAaAzIaQ9ISQBwOUAfq3jMtUrCCGphJB09hvAmQA2mp/VIPkVwHXy7+sA/FKHZamXsI5X5kI04HpECCEAPgCwhVL6ErfLrkcWaRCZJORQ11cAOAF8KC9HbyNDCOkASWsCpEUsv2zo74gQ8hWAUZCWRygA8CiAnwF8C6AtpOVfLqWUNtggAYN3NAqSeY8CyANwG+dvaVAQQkYAWAhgA4CQvPkBSH4oux5ZoEEIKBsbGxubE4+GYOKzsbGxsTkBsQWUjY2NjU29xBZQNjY2Njb1EltA2djY2NjUS2wBZWNjY2NTL7EFlI2NjY1NvcQWUDY2NjY29ZL/Bxw4/TVzmxLKAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 432x288 with 3 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 观察不同类别的时间序列特征，为后面构造特征做准备\n",
    "plt.subplot(3, 1, 1)\n",
    "plt.plot(eeg[eeg.id==0]['times'], eeg[eeg.id==0]['measurements'])\n",
    "plt.legend(eeg.loc[0,'classes'])\n",
    "plt.subplot(3, 1, 2)\n",
    "plt.plot(eeg[eeg.id==300]['times'],eeg[eeg.id==300]['measurements'])\n",
    "plt.legend(eeg.loc[300*4097,'classes'])\n",
    "plt.subplot(3, 1, 3)\n",
    "plt.plot(eeg[eeg.id==450]['times'],eeg[eeg.id==450]['measurements'])\n",
    "plt.legend(eeg.loc[450*4097,'classes'])\n",
    "plt.tight_layout()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "aa288c08",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Feature Extraction: 100%|██████████████████████████████████████████████████████████████| 25/25 [00:04<00:00,  5.72it/s]\n"
     ]
    }
   ],
   "source": [
    "# 抽取特征\n",
    "fc_parameters = {\n",
    "    \"skewness\": None,\n",
    "    \"ratio_beyond_r_sigma\": [{\"r\": 1}],\n",
    "    \"maximum\":None,\n",
    "    \"minimum\":None,\n",
    "    \"mean_abs_change\":None,\n",
    "    \"longest_strike_above_mean\":None\n",
    "}\n",
    "data = extract_features(eeg, column_id = \"id\",column_sort = \"times\",column_value=\"measurements\",chunksize=20, default_fc_parameters=fc_parameters)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "2a852864",
   "metadata": {},
   "outputs": [],
   "source": [
    "data.index.names=['id']\n",
    "data.reset_index()\n",
    "data = data.merge(eeg[['id','classes']].drop_duplicates(), on='id',how='inner')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "79c3e471",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "RandomForestClassifier()"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 训练机器学习模型\n",
    "X_train, X_test, y_train, y_test = train_test_split(data.drop(['id', 'classes'], axis=1), data[\"classes\"])\n",
    "rf_clf = RandomForestClassifier()\n",
    "rf_clf.fit(X_train, y_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "1254471c",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.768"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 模型评估\n",
    "rf_clf.score(X_test, y_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "371b46ba",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "c:\\users\\skywater\\pycharmprojects\\personal\\py39\\lib\\site-packages\\xgboost\\sklearn.py:1146: UserWarning: The use of label encoder in XGBClassifier is deprecated and will be removed in a future release. To remove this warning, do the following: 1) Pass option use_label_encoder=False when constructing XGBClassifier object; and 2) Encode your labels (y) as integers starting with 0, i.e. 0, 1, 2, ..., [num_class - 1].\n",
      "  warnings.warn(label_encoder_deprecation_msg, UserWarning)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[09:17:31] WARNING: C:/Users/Administrator/workspace/xgboost-win64_release_1.4.0/src/learner.cc:1095: Starting in XGBoost 1.3.0, the default evaluation metric used with the objective 'multi:softprob' was changed from 'merror' to 'mlogloss'. Explicitly set eval_metric if you'd like to restore the old behavior.\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "0.72"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 使用XGBOOST模型\n",
    "xgb_clf = xgb.XGBClassifier()\n",
    "xgb_clf.fit(X_train, y_train)\n",
    "xgb_clf.score(X_test, y_test)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "25dc6781",
   "metadata": {},
   "source": [
    "### 7.2 聚类问题"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "f309c5ff",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 归一化数据\n",
    "data_cluster = data.drop(['id', 'classes'], axis=1)\n",
    "data_values = preprocessing.scale(data_cluster.values)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "0f26ebb6",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "AgglomerativeClustering(n_clusters=5)"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 使用第一类聚类思路进行层次聚类\n",
    "clustering = AgglomerativeClustering(n_clusters = 5,linkage = 'ward')\n",
    "clustering.fit(data_values)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "f94727da",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.4367253979317053"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 输出模型评估指标\n",
    "homogeneity_score(clustering.labels_, data.classes)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "id": "7a044b35",
   "metadata": {},
   "outputs": [],
   "source": [
    "rowlist= np.array(range(0,50))\n",
    "for a in [np.array(range(100,150)),np.array(range(200,250)),np.array(range(300,350)),np.array(range(400,450))]:\n",
    "    rowlist=np.append(rowlist,a)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "id": "c1f4e054",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "250it [3:21:01, 48.25s/it]\n"
     ]
    }
   ],
   "source": [
    "# 使用第二类聚类思路首先计算DTW距离，这一步计算量比较大，先把结果存下来，并且作为简化，只选择了部分数据送入模型\n",
    "pairwise_dis = pd.DataFrame(np.zeros((250, 250)))\n",
    "for index_r, r in tqdm(enumerate(rowlist)):\n",
    "    for index_c, c in enumerate(rowlist):\n",
    "        arr1 = eeg[eeg.id==r]['measurements'].values[:500]\n",
    "        arr2 = eeg[eeg.id==c]['measurements'].values[:500]\n",
    "        distance, _ = fastdtw(arr1, arr2, dist=euclidean)\n",
    "        pairwise_dis.iloc[index_r,index_c]=distance"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "id": "d1448e42",
   "metadata": {},
   "outputs": [],
   "source": [
    "pairwise_dis.to_csv('data/pairwise_dis.csv',index=False)\n",
    "pairwise_distance = pd.read_csv('data/pairwise_dis.csv')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "id": "415e07b8",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 使用第二类聚类思路进行层次聚类\n",
    "dtw_clustering = AgglomerativeClustering(linkage = 'average',n_clusters = 5, affinity = 'precomputed')\n",
    "_=dtw_clustering.fit_predict(pairwise_distance)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "id": "abf3e22c",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.32086816047177635"
      ]
     },
     "execution_count": 65,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 输出模型评估指标\n",
    "homogeneity_score(dtw_clustering.labels_, data[data.index.isin(rowlist)]['classes']) "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "606cf9b2",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.4"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": false,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
